質問編集履歴

2

コントローラーの記述の追加

2021/01/02 00:35

投稿

jm_swim
jm_swim

スコア8

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,96 @@
52
52
 
53
53
 
54
54
 
55
+ ```
56
+
57
+ commentsコントローラーです。
58
+
59
+
60
+
61
+ class CommentsController < ApplicationController
62
+
63
+ def index
64
+
65
+ @commented = Comment.all
66
+
67
+ @comment = Comment.new
68
+
69
+ @debate = Debate.find(params[:debate_id])
70
+
71
+ @comments = @debate.comments.includes(:coach)
72
+
73
+ @comments = @debate.comments.includes(:user)
74
+
75
+ end
76
+
77
+
78
+
79
+ def create
80
+
81
+ @debate = Debate.find(params[:debate_id])
82
+
83
+ if coach_signed_in?
84
+
85
+ @comment = @debate.comments.new(coach_comment_params)
86
+
87
+ else user_signed_id?
88
+
89
+ @comment = @debate.comments.new(user_comment_params)
90
+
91
+ end
92
+
93
+ if (@comment || @comments).save
94
+
95
+ redirect_to debate_comments_path(@debate)
96
+
97
+ else
98
+
99
+ @comments = @debate.comments.includes(:coach)
100
+
101
+ @comments = @debate.comments.includes(:user)
102
+
103
+ render :index
104
+
105
+ end
106
+
107
+ end
108
+
109
+
110
+
111
+ private
112
+
113
+
114
+
115
+ def coach_comment_params
116
+
117
+ if coach_signed_in?
118
+
119
+ params.require(:comment).permit(:content).merge(coach_id: current_coach.id)
120
+
121
+ end
122
+
123
+ end
124
+
125
+
126
+
127
+ def user_comment_params
128
+
129
+ if user_signed_in?
130
+
131
+ params.require(:comment).permit(:content).merge(user_id: current_user.id)
132
+
133
+ end
134
+
135
+ end
136
+
137
+ end
138
+
139
+
140
+
141
+
142
+
143
+ ```
144
+
55
145
 
56
146
 
57
147
 

1

誤字を修正しました。

2021/01/02 00:35

投稿

jm_swim
jm_swim

スコア8

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  現在railsで投稿アプリを作成しています。
4
4
 
5
- メッセージ投稿時にエラー(userを入力してください)が出てしまいます。以前(トークルーム作成時)にも同じようなことがあって、その際はvalidate: falseをモデルに追加して回避した(理解はできていません)のですが、今回も同じようなエラーが出ています。前回のようにvalidate: falseで回避できないため違う方法がないか検索をかけたところ、allow_blank: trueで回避できそうとの記事を見つけたため記述すると、今回は違ったエラーが出ました。しかしはエラー状態で再読み込みを行うとエラー画面が消え、正常に投稿できるようになります。何か手を加えればこの初めのエラーも出なくなるのでしょうか?原因がわかりません。
5
+ メッセージ投稿時にエラー(userを入力してください)が出てしまいます。以前(トークルーム作成時)にも同じようなことがあって、その際はvalidate: falseをモデルに追加して回避した(理解はできていません)のですが、今回も同じようなエラーが出ています。前回のようにvalidate: falseで回避できないため違う方法がないか検索をかけたところ、allow_blank: trueで回避できそうとの記事を見つけたため記述するとたエラーです。しかしはエラー状態で再読み込みを行うとエラー画面が消え、正常に投稿できるようになります。何か手を加えればこの初めのエラーも出なくなるのでしょうか?原因がわかりません。
6
6
 
7
7
 
8
8