質問編集履歴
3
名称変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,12 +4,12 @@
|
|
4
4
|
|
5
5
|
### わからないこと
|
6
6
|
|
7
|
-
一覧ページにおける
|
7
|
+
一覧ページにおけるreview_idの取得の仕方
|
8
8
|
|
9
9
|
一覧ページの投稿に対していいねをする時、その投稿のidを含めてデータに保存する方法
|
10
10
|
|
11
11
|
ルーティングにおけるコードの書き方 ー
|
12
|
-
like と
|
12
|
+
like と review がルーティングで独立してるのは気がついているのですが、
|
13
13
|
できれば resources を使いたいと考えています。
|
14
14
|
それが不可ならuriパターンでの指定を教えていただけると幸いです。
|
15
15
|
### 該当のソースコード
|
2
review controller の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,6 +30,38 @@
|
|
30
30
|
resources :likes, only: [:create, :destroy]
|
31
31
|
end
|
32
32
|
```
|
33
|
+
```ruby
|
34
|
+
class ReviewsController < ApplicationController
|
35
|
+
before_action :authenticate_user!
|
36
|
+
before_action :move_to_signin
|
37
|
+
|
38
|
+
def index
|
39
|
+
@reviews = Review.all
|
40
|
+
end
|
41
|
+
|
42
|
+
def new
|
43
|
+
@review = Review.new
|
44
|
+
end
|
45
|
+
|
46
|
+
def create
|
47
|
+
@review = Review.new(review_params)
|
48
|
+
if @review.save
|
49
|
+
redirect_to reviews_path
|
50
|
+
else
|
51
|
+
render :new
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def show
|
56
|
+
@review = Review.find_by(id: params[:id])
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
def review_params
|
61
|
+
params.require(:review).permit(:title, :content, :image).merge(user_id: current_user.id)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
```
|
33
65
|
```haml
|
34
66
|
-# index.html.haml
|
35
67
|
%h1 Reviews#index
|
1
ファイルの省略無し
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,23 +13,33 @@
|
|
13
13
|
できれば resources を使いたいと考えています。
|
14
14
|
それが不可ならuriパターンでの指定を教えていただけると幸いです。
|
15
15
|
### 該当のソースコード
|
16
|
-
関係のないところは省略します
|
17
16
|
```ruby
|
18
17
|
class LikesController < ApplicationController
|
19
18
|
def create
|
20
|
-
@like = Like.new(user_id: current_user.id,
|
19
|
+
@like = Like.new(user_id: current_user.id, review_id: id)
|
21
20
|
@like.save
|
21
|
+
redirect_to reviews_path
|
22
22
|
end
|
23
23
|
end
|
24
24
|
```
|
25
25
|
```ruby
|
26
26
|
Rails.application.routes.draw do
|
27
|
+
root to: 'static_pages#home'
|
28
|
+
devise_for :users
|
27
|
-
resources :
|
29
|
+
resources :reviews, only: [:index, :new, :create, :show]
|
28
30
|
resources :likes, only: [:create, :destroy]
|
29
31
|
end
|
30
32
|
```
|
31
33
|
```haml
|
34
|
+
-# index.html.haml
|
35
|
+
%h1 Reviews#index
|
36
|
+
- @reviews.each do |review|
|
37
|
+
.Cover
|
38
|
+
= link_to review_path(review) do
|
39
|
+
= image_tag "#{review.image}"
|
32
|
-
= link_to('いいね',
|
40
|
+
= link_to('いいね', reviews_path, method: :post)
|
41
|
+
= link_to('review', new_review_path)
|
42
|
+
= link_to('logout', destroy_user_session_path, method: :delete)
|
33
43
|
```
|
34
44
|
|
35
45
|
### 試したこと
|