モデルに配列フィールドがあり、それを更新しようとしています。
私の強力なパラメータメソッドは以下です
def post_params
params["post"]["categories"] = params["post"]["categories"].split(",")
params.require(:post).permit(:name, :email, :categories)
end
私のコントローラーでの私のアクションは次のとおりです
def update
post = Post.find(params[:id]
if post and post.update_attributes(post_params)
redirect_to root_url
else
redirect_to posts_url
end
end
ただし、投稿の更新を送信するたびに、開発ログに表示されます
Unpermitted parameters: categories
渡されるパラメータは
Parameters: {"utf8"=>"✓", "authenticity_token"=>"auth token", "id"=>"10",
"post"=>{"name"=>"Toni Mitchell", "email"=>"eileen_hansen@hayetokes.info", "categories"=>",2"}}
categories
他のすべてがうまく見えるので、属性が配列であるという事実と関係があると思いたいです。繰り返しますが、私は間違っている可能性があります。では、私のコードの何が問題なのですか?なぜ明らかに許可されているのに、カテゴリ フィールドを保存できないのでしょうか? ありがとう。