回答編集履歴
1
両方「1.」になってしまったので修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
`.create`に直接`params[:comment]`を渡すと、**意図しない値まで渡される危険がある**ということで、エラーとなります。対処法は2つあります。
|
2
2
|
|
3
|
-
1
|
3
|
+
その1 きちんとパラメーターを`permit`する
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
@comment = @post.comments.create(comment_params)
|
@@ -13,6 +13,6 @@
|
|
13
13
|
end
|
14
14
|
```
|
15
15
|
|
16
|
-
2
|
16
|
+
その2 チェックを迂回する
|
17
17
|
|
18
18
|
`params[:comment].to_unsafe_h`とすれば、とりあえず`ActiveModel::ForbiddenAttributesError`を回避することはできます。ただ、書いての通り`unsafe`なので、おすすめはしません。
|