LoginSignup
1
3

More than 5 years have passed since last update.

Rails の strong_parameters でネストされた要素を require チェックする

Last updated at Posted at 2016-10-11

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 で弾かれることになる。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3