teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

両方「1.」になってしまったので修正

2018/05/01 09:56

投稿

maisumakun
maisumakun

スコア146653

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `.create`に直接`params[:comment]`を渡すと、**意図しない値まで渡される危険がある**ということで、エラーとなります。対処法は2つあります。
2
2
 
3
- 1. きちんとパラメーターを`permit`する
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`なので、おすすめはしません。