如何将嵌套参数插入主参数中

时间:2017-03-29 15:03:56

标签: ruby-on-rails ruby

我正在使用Rails 5作为后端构建Backbone / Marionette Web应用程序。我发送带有嵌套属性的表单数据。不幸的是,这些嵌套属性被添加到:goal参数之外。如何在保存之前将它们插入主(:目标)参数中?否则它们将被忽略,不会插入数据库。

这些是发给服务器的params:

{"id"=>"7", "title"=>"ReBook", "gtype"=>"personal", "starts_at"=>"2017-03-03", "ends_at"=>"2017-10-03", "status"=>"completed", "user_id"=>1, "user_name"=>"Mike", "likes"=>0, "starts_at_formatted"=>"2017-03-03", "ends_at_formatted"=>"2017-10-03", "goalresults_attributes"=>{"description"=>"rrr", "progress"=>"333"}, "goal"=>{"id"=>"7", "user_id"=>1, "title"=>"Rebook", "gtype"=>"personal", "starts_at"=>"2017-03-03", "ends_at"=>"2017-10-03", "status"=>"completed"}}

1 个答案:

答案 0 :(得分:0)

params['goal']['user_name'] = params['user_name']
params['goal']['likes'] = params['likes']
params['goal']['starts_at_formatted'] = params['starts_at_formatted']
params['goal']['goalresults_attributes'] = params['goalresults_attributes']
params['goal']['progress'] = params['progress']

在执行update_attributes

之前将其放入

非常脏/丑陋。但它会完成工作