我发生了多态关联关系,当我通过它检索记录时,例如:
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/