0

我正在使用主干从客户端更新模型,在服务器端我正在检索双重参数:

{"_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)"

双参数的事情困扰着我。因此,欢迎任何解决的想法。

4

2 回答 2

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的更多信息

于 2014-07-23T18:07:42.477 回答
-1

我相信在查看 params 哈希后,通过 rails 创建具有模型中存在的属性的哈希是一种捷径。您可能会认为发送了重复的数据,但它只是以方便的方式分组的原始数据集。

例如,要创建一个批量分配的新用户,您可以执行以下操作:

new_user = User.new(params[:user]) 

new_user 现在将拥有散列用户设置的所有属性。

于 2013-08-14T10:14:45.190 回答