ruby-on-rails - 通过继承检索的记录上调用ActiveRecord::Relation的未定义方法 `update_attribute'

标签 ruby-on-rails inheritance

我发生了多态关联关系,当我通过它检索记录时,例如:

hour = my_model.find( keeper_id ).hours.where( "day = ?", day_index )

然后尝试在其上调用update_attributes:
hour.update_attribute(:start_time, start_time)

我收到一个错误:
NoMethodError (undefined method `update_attribute' for #<ActiveRecord::Relation:0x0000010458c708>):
  activerecord (3.0.0) lib/active_record/relation.rb:373:in `method_missing'

我认为这是因为我通过关系检索了记录。
我该如何解决?

最佳答案

Update属性仅对单个记录起作用,而不对集合起作用。
请改用update_all(语法有些不同)。

关于ruby-on-rails - 通过继承检索的记录上调用ActiveRecord::Relation的未定义方法 `update_attribute',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910257/

相关文章:

ruby-on-rails - 子文件夹中的子类模型不会自动加载

scala - 将对象声明为 "final"有什么意义?

python - 只能从 python 中的类后代访问的方法

java - 自动调用父类(super class)方法

javascript - 如何从核心 OpenERP 6.1 继承 javascript

ruby-on-rails - Rails asset_host、cloudfront 和 heroku

ruby-on-rails - rails : Render collection partial: Getting size of collection inside partial

ruby-on-rails - 嵌套资源的 Rails 路线

ruby-on-rails - 测试构建在 RESTful Web 服务之上的应用程序

ios - 面向协议(protocol)的编程不会带来继承主要解决的代码重复问题吗?