我正在使用Rails 5.2.1和ruby 2.5.0进行新项目的开发。 我需要允许用户参数具有以下结构
{
"user_id": 1
"name": "John",
"pets": [
{
"id": 1,
"count": 5
},
{
"id": 2,
"count": 3
},
]
}
我的用户模型有以下几行
has_many :pets, dependent: :destroy
accepts_nested_attributes_for :pets
和控制器
params.require(:user).permit(:user_id, :name, pets_attributes: %i(id, count))
但是当我发布上述json请求时,它会产生以下错误
Unpermitted parameter: :pets
我找不到任何解决方案。请帮忙。谢谢
答案 0 :(得分:0)
首先,参数是否以这种格式发送?:{user: {user_id: ...}}
不管发送的格式如何,代码的一个问题是pets_attributes如下:
pets_attributes: %i(id count)
或pets_attributes: [:id, :count]
所以
params.require(:user).permit(:user_id, :name, pets_attributes: %i(id count))
OR
params.require(:user).permit(:user_id, :name, pets_attributes:[:id, :count])
希望这会有所帮助。