ActiveRecord :: Relation对象上的未定义方法 [英] undefined method on ActiveRecord::Relation object

查看:76
本文介绍了ActiveRecord :: Relation对象上的未定义方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码

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 对象,什么是管理此对象的正确方法

why is it a Relation object and not a FieldValue object, what's the right way to manage this

推荐答案

fieldvalue 应该只返回一个值吗?

fieldvalue should return only one value?

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

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

Or if you expect multiple items:

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

这篇关于ActiveRecord :: Relation对象上的未定义方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆