■
require と permit の使い方がよく分からない
そもそもセキュリティを高めるための機能
rails5系が出てくる中で、rails4系リリース時で話題になったストロングパラメーターの話をするのは、非常にダサいですが、rails初心者であれば、つまづきがちなrequireとpermitの話をします。
具体的にいうとこれです
def user_params params.require(:user).permit(:name, :email) end
createの際に送られて来たものをparamsで取得 中身はこんな感じです
{ "action" : "create", "user" : { "name" : "aaa", "email" : "bbb" }, "controller" : "users" }
返り値を見ると controller 名や action 名などもパラメータに含まれていることが分かります
params.require( :user ) の中身を確認
{ "name" : "aaa", "email" : "bbb" }
余談ですが、、、
params.require( :controller ) とすれば "users" が取得できます。
params.require( :action ) とすれば "create" が取得できます。
permit メソッドは許可したいパラメータだけをフィルタしてくれます。