Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用包含的数组一对多更新_属性_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 使用包含的数组一对多更新_属性

Ruby on rails 使用包含的数组一对多更新_属性,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,在rails中,如何对活动记录对象调用update_attributes(),并让它基于数组参数在one-to-many关联表中创建适当的行 这可能吗?或者我需要手动循环该参数的数组,并通过create_record()等手动插入许多行吗 为了清楚起见,我可能有一对多地址的users表。我想调用users.update_attributes()传递要更新的用户详细信息,但也提供映射到地址表的地址数组。在用户模型中: model User has_many :addresses accep

在rails中,如何对活动记录对象调用
update_attributes()
,并让它基于数组参数在
one-to-many
关联表中创建适当的行

这可能吗?或者我需要手动循环该参数的数组,并通过
create_record()
等手动插入许多行吗


为了清楚起见,我可能有一对多地址的users表。我想调用users.update_attributes()传递要更新的用户详细信息,但也提供映射到地址表的地址数组。

用户
模型中:

model User
  has_many :addresses
  accepts_nested_attributes_for :addresses
end
现在可以使用这组参数创建用户

params = { user: {
  name: 'Dimitri', address_attributes: [
    { country: 'Georgia', city: 'Abasha', line: '35 Kacharava Str.' },
    { country: 'USA', city: 'Los Angeles', line: '10 Infinite Loop' },
    { country: '', _destroy: '1' } # this will be ignored
 ]
}}

User.create(params[:user])
有关更多详细信息,请访问