我需要更新activerecord模型中的一些字段。但是我只会在runntime中获得字段的模型和名称/值。其中一些领域是其他模型和协会已经建立的。
我能提出的最佳解决方案是:
fields.each do |key,val|
model.send :"#{key}, val
end
还有其他方法吗?
答案 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