Ruby on Railsのストロングパラメータについて質問があります。
以下のようにFormオブジェクトを使用してフォームを更新するとUnpermitted parameterやUnpermitted parametersのエラーになってしまいます。
しかし、フォームの内容は全く問題なく更新されるため、アプリケーションの動作に関しては全く問題内容に思います。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"7J4Qv3dE4AWh+/u1DwApoHzwrP7rhabMUsgghnf7cw8De7t5etWjMUyMYsHwOy7pVEirehfF3qtTyf08642w/g==", "form"=>{"post"=>{"content"=>"テスト投稿テスト投稿テスト投稿\r\n", "photos"=>{"0"=>{"inputs_destroy"=>"0"}, "1"=>{"inputs_destroy"=>"0"}, "2"=>{"inputs_destroy"=>"0"}}, "name"=>"テストコンテンツ", "status"=>"public", "tags"=>{"name"=>"テストタグ"}}}, "tag_hidden"=>"テストタグ", "commit"=>"上記の内容で編集する", "id"=>"38"}
Unpermitted parameters: :content, :name, :status, :tags
form.rb private def post_params @params.require(:post).except(:photos).except(:tags).permit( :name, :content, :status ) end def post_photos_params @params.require(:post).permit( photos: [ :image, :inputs_destroy ] ) end def tag_params @params.require(:post).fetch(:tags).permit( :name ) end
上記のようにストロングパラメータは許可しております。
ちなみに、Unpermitted parametersになっている項目も正確に新規作成、更新されデータは反映されます。
何故、Unpermitted parametersになるのでしょうか?
また、Unpermitted parametersになっていても項目は正確に更新されるため問題ないのでしょうか?
大変お手数をお掛けしますが、アドバイスなどよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー