Rails未经许可的params

时间:2017-05-30 09:49:59

标签: ruby-on-rails ruby ruby-on-rails-4

我正在尝试接收控制器中的一些参数,但是在允许它们时我遇到了问题。这是我的请求有效载荷:

{
    contacts: [{
            id: null,
            address: null,
            business: "Company",
            cellphone: "",
            city: null,
            country: null,
            email: "emaill@tes.te"
        }],
    name: "Entity1"
}

在我的控制器中,我定义了:

  def update_params
    params.permit(
      :name,
      contacts_attributes: [
        :id, :first_name, :last_name, :email, :business, :position, :telephone,
        :cellphone, :address, :city, :state, :country
      ]
    )
  end

但是当我调用update_params方法时,只允许:name。联系人是不允许的。我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

正如我所说,你允许 contacts_attributes而不是contacts。更改下面的update_params方法可以解决问题。

def update_params
  params.permit(
    :name,
    contacts: [
      :id, :first_name, :last_name, :email, :business, :position, :telephone,
      :cellphone, :address, :city, :state, :country
    ]
  )
end

答案 1 :(得分:-1)

首先检查您的模型,如果是,则编写$logFileTree = test.log,然后您的代码必须正常工作。