Ruby on rails 合并Rails对象,仅保留当前值
我有一个要合并为一个的对象数组:Ruby on rails 合并Rails对象,仅保留当前值,ruby-on-rails,object,merge,Ruby On Rails,Object,Merge,我有一个要合并为一个的对象数组: [ #<User firstname: 'John', middlename: '', lastname: nil> #<User firstname: '', middlename: '', lastname: 'Doe'> #<User firstname: nil, middlename: 'W.', lastname: nil> ] 好吧,它可以工作,但代码看起来不是很干净…如果有多
[
#<User firstname: 'John', middlename: '', lastname: nil>
#<User firstname: '', middlename: '', lastname: 'Doe'>
#<User firstname: nil, middlename: 'W.', lastname: nil>
]
好吧,它可以工作,但代码看起来不是很干净…如果有多个对象具有一个属性集,会发生什么情况?我更新了我的问题“什么回答了你的问题”。这并不重要,因为我的对象总是只有一个属性集。如果有多个对象具有一个属性集,会发生什么?我更新了我的问题“什么回答了你的问题”。这并不重要,因为我的对象总是只有一个属性集。
#<User firstname: 'John', middlename: 'W.', lastname: 'Doe'>
master = nil
my_array.each do |user|
if !master
master = user
else
user.attributes.each do |k, v|
if v.present? && !master.send(k).present?
master.send(:"#{k}=", v)
end
end
end
end