[Rails] ネストしたStrong Paramtersの書式
「あれ?ネストしてるStrong Paramtersってどうやって書くんだっけ?」みたいなのが、起きるのでメモしとく。
ネスト無し
{
"name": "Jhon",
"email": "sample@email.com"
}
def params_for_create
params.permit(:name, :email)
end
ネストが1回
オブジェクト
{
"name": "Jhon",
"plan": {
"name": "自動車保険"
"price": 1900
}
}
def params_for_create
params.permit(:name, plan: [:name, :price])
end
配列
{
"name": "Jhon",
"insureds": [
{
"name": "Alice"
},
{
"name": "Bob"
}
]
}
def params_for_create
params.permit(:name, insureds: [:name])
end
ちなみに、配列の中身がオブジェクトではなく数字や文字列が直接並ぶ場合は次の通り。
{
"name": "Jhon",
"ids": [1, 2, 3]
}
def params_for_create
params.permit(:name, ids: [])
end
参考サイト
・ネストするStrong Parametersの書きかた ・Rails5 Strong Parametersで複数の配列を許可する