获取不允许的参数警告

时间:2018-08-22 04:52:49

标签: ruby-on-rails-5

我正在使用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

我找不到任何解决方案。请帮忙。谢谢

1 个答案:

答案 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])

希望这会有所帮助。