所以我有两个模型对象,它们拥有相似的数据,但它们具有不同的属性名称。为了简洁和清晰起见,我将简化列表。我想用信息创建一个临时对象,比较对象,然后在某些数据发生变化时更新一个。我愿意接受有关如何更好地实现这一目标的建议(请记住,我会展示更多属性)
会员对象具有 employeenumber,employeofirstname和employeelastname
的属性Censusitem 对象的属性为 employee_id,employee_fn,employee_ln
我有一个已映射的字段,我认为会简化这个:
maps={
employeenumber: :employee_id,
employeefirstname: :employee_fn,
employeelastname: :employee_ln
}
我想我可以循环它们并以某种方式分配它们,但我显然不是很接近:
def clean_member(censusitem, maps)
tempmember=Member.new
maps.each do |mname,ciname|
tempmember.i[o]=censusitem.i[1]
end
return tempmember
end
感觉我错过了一些大的东西,这对我来说很正常;-)任何帮助都会非常感激!
标记
答案 0 :(得分:1)
我相信这应该有效:
def clean_member(censusitem, maps)
tempmember=Member.new
maps.each do |mname,ciname|
tempmember.send("#{mname}=", censusitem.send(ciname))
end
return tempmember
end