如何动态更新Activerecord字段?

时间:2011-04-25 17:15:01

标签: ruby activerecord dynamic

我需要更新activerecord模型中的一些字段。但是我只会在runntime中获得字段的模型和名称/值。其中一些领域是其他模型和协会已经建立的。

我能提出的最佳解决方案是:

fields.each do |key,val|
  model.send :"#{key}, val
end

还有其他方法吗?

2 个答案:

答案 0 :(得分:2)

没有保存,attributes=

model.attributes = fields

使用保存和验证update_attributes

model.update_attributes(fields)

答案 1 :(得分:1)

fields.each do |key,val|
  model.update_attribute key, val
end

model.update_attributes fields