strong_parameters の require
{
"user":{
"email": "aaaa",
"name": "bbbb"
}
}
上記のような json で post される場合、 strong_parameters の説明では、
def user_params
params.require(:user).permit(:name, :email)
end
のように、 user は必須で name と email を permit
しましょうって書いてあるのをよくみる。
でも name や email も require
で必須チェックする必要が出たのでやってみた。
やり方
def user_params
params.require(:user).require(:name)
params.require(:user).require(:email)
params.require(:user).permit(:name, :email)
end
1 行ずつ書いたらできた。
user.name と user.email をそれぞれ require チェックして、最後に permit
する。
そうすると上から評価されていくので、 name や email が存在しなければ require で弾かれることになる。