質問編集履歴
2
具体的にどのようなことがしたくて困っているのか付け加えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
###
|
1
|
+
###やりたいこと
|
2
2
|
|
3
3
|
現在Facebookのようなアプリを作成中です。
|
4
4
|
|
@@ -8,6 +8,32 @@
|
|
8
8
|
|
9
9
|
を考えてsessionによる外部キーの値の挿入を行いたい。
|
10
10
|
|
11
|
+
|
12
|
+
|
13
|
+
###具体的にやりたいこと
|
14
|
+
|
15
|
+
_comment.html.erbで現在は、
|
16
|
+
|
17
|
+
hideenに @micropost.id を入れて、
|
18
|
+
|
19
|
+
Comment.createメソッドに送信して、
|
20
|
+
|
21
|
+
どの記事に対するコメントなのか識別していますが、
|
22
|
+
|
23
|
+
この 個々の@micropost.id をsessionを使ってComment.createメソッドに値を引き回し、
|
24
|
+
|
25
|
+
どの記事に対するコメントなのか識別したいです。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
現状@micropostIds = Micropost.where(user_id: @user.id).select(:id)
|
30
|
+
|
31
|
+
でユーザに属する記事の一覧は取得できるのですが、
|
32
|
+
|
33
|
+
それをコメント記事が送信された際に、
|
34
|
+
|
35
|
+
どの記事に対するコメントなのか識別できないのに、困っております。
|
36
|
+
|
11
37
|
###背景
|
12
38
|
|
13
39
|
ネットの記事やある講師から、
|
@@ -128,6 +154,8 @@
|
|
128
154
|
|
129
155
|
@micropostIds = Micropost.where(user_id: @user.id).select(:id)
|
130
156
|
|
157
|
+
session[:micropost] = @micropostIds
|
158
|
+
|
131
159
|
|
132
160
|
|
133
161
|
|
@@ -188,6 +216,64 @@
|
|
188
216
|
|
189
217
|
```
|
190
218
|
|
219
|
+
comments.controller.rb
|
220
|
+
|
221
|
+
class CommentsController < ApplicationController
|
222
|
+
|
223
|
+
before_action :logged_in_user
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
def create
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
@user = User.find(params[:user_id])
|
232
|
+
|
233
|
+
@micropost = Micropost.find(params[:micropost_id])
|
234
|
+
|
235
|
+
@comment = current_user.comments.build(comment_params)
|
236
|
+
|
237
|
+
@comment.micropost = @micropost
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
if @comment.save
|
242
|
+
|
243
|
+
@succeed = true
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
else
|
248
|
+
|
249
|
+
flash[:danger] = 'missing'
|
250
|
+
|
251
|
+
end
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
end
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
private
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
def comment_params
|
264
|
+
|
265
|
+
params.require(:comment).permit(:content)
|
266
|
+
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
271
|
+
```
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
```
|
276
|
+
|
191
277
|
_micropost.html.erb
|
192
278
|
|
193
279
|
|
@@ -292,6 +378,14 @@
|
|
292
378
|
|
293
379
|
|
294
380
|
|
381
|
+
このような場合、
|
382
|
+
|
383
|
+
javascript等で送信時に値を設定するみたいなことを
|
384
|
+
|
385
|
+
するのでしょか??
|
386
|
+
|
387
|
+
|
388
|
+
|
295
389
|
お手数おかけしますが、
|
296
390
|
|
297
391
|
アドバイス宜しくお願いします。
|
1
問題点を修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,12 +20,18 @@
|
|
20
20
|
|
21
21
|
###問題点
|
22
22
|
|
23
|
+
コントローラ内で、
|
24
|
+
|
25
|
+
記事の複数のIdを取得することができたので、
|
26
|
+
|
23
27
|
可逆方式を使って暗号化し、
|
24
28
|
|
25
29
|
hiddenに入れてかつ、validationを試みましたが、
|
26
30
|
|
27
31
|
どうしても特定の値をcommentコントローラに渡せません。
|
28
32
|
|
33
|
+
|
34
|
+
|
29
35
|
Railsガイドや、
|
30
36
|
|
31
37
|
他のsession使用のサイトを見たのですが、
|
@@ -36,7 +42,13 @@
|
|
36
42
|
|
37
43
|
|
38
44
|
|
45
|
+
また、
|
46
|
+
|
47
|
+
Ruby on Rails4アプリケーションプログラミングの本を読み返して、
|
48
|
+
|
39
|
-
|
49
|
+
試行錯誤したのですが、
|
50
|
+
|
51
|
+
結局2週間経っても
|
40
52
|
|
41
53
|
未だに解決できません(^^;)
|
42
54
|
|