我发生了多态关联关系,当我通过它检索记录时,例如:
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'
我认为这是因为我通过关系检索了记录。 我怎么能绕过这个?
答案 0 :(得分:17)
更新属性适用于单个记录,而不适用于集合。
请改用update_all
(语法略有不同)。