我正在使用骨干在客户端更新模型,在服务器端我正在检索双参数:
{"_id"=>"5209df7c2e21a971fd000002",
"name"=>"Gary Miller",
"email"=>"gary.miller@att.net",
"last_login"=>"2013-03-18T20:37:53+00:00",
"timezone"=>"Central Time (US & Canada)",
"mobile"=>nil,
"address"=>nil,
"address_attributes"=>{},
"action"=>"update",
"controller"=>"users",
"id"=>"5209df7c2e21a971fd000002",
"user"=>
{"_id"=>"5209df7c2e21a971fd000002",
"email"=>"gary.miller@att.net",
"name"=>"Gary Miller",
"last_login"=>"2013-03-18T20:37:53+00:00",
"timezone"=>"Central Time (US & Canada)",
"mobile"=>nil}}
在网络检查员的客户端,我检查了有效负载,这是客户端发送的数据:
_id: "5209df7c2e21a971fd000002"
address: null
address_attributes: {}
email: "gary.miller@att.net"
last_login: "2013-03-18T20:37:53+00:00"
mobile: null
name: "Gary Miller"
timezone: "Central Time (US & Canada)"
双重参数让我烦恼。因此,欢迎任何解决的想法。
答案 0 :(得分:0)
这是因为config / initializers / wrap_parameters.rb
上的内容正在发生ActiveSupport.on_load(:action_controller) do
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
end
有关http://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html
的更多信息答案 1 :(得分:-1)
我相信rails是一个快捷方式,通过查看params哈希后创建一个包含模型中存在的属性的哈希。您可能认为发送了重复数据,但它只是以方便的方式分组的原始数据集。
例如,要创建具有批量分配的新用户,您可以执行以下操作:
new_user = User.new(params[:user])
new_user现在将具有从哈希用户设置的所有属性。