1

以下代码

fieldvalue = Admin::FieldValue.where(:item_id => @admin_item.id, :field_id => key)
fieldvalue.update_attributes(:value => value)

引发以下错误

NoMethodError (undefined method `update_attributes' for #<ActiveRecord::Relation:0x00000102dfc868>):

为什么它是一个Relation对象而不是一个FieldValue对象,管理这个的正确方法是什么

4

1 回答 1

1

fieldvalue应该只返回一个值吗?

fieldvalue = Admin::FieldValue.where(:item_id => @admin_item.id, :field_id => key).first
fieldvalue.update_attributes(:value => value)

或者,如果您期望多个项目:

fieldvalue = Admin::FieldValue.where(:item_id => @admin_item.id, :field_id => key)
fieldvalue.update_all(:value => value)
于 2012-06-19T19:18:08.073 回答