2010-10-11 41 views
6

檢索我有一個多態關聯關係發生的事情,當我通過它檢索的記錄,如記錄時:未定義的方法`update_attribute」 ActiveRecord的::關聯呼籲通過繼承

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' 

我認爲這是因爲我通過關係檢索了記錄。 我該如何解決這個問題?

回答

17

更新屬性適用於單個記錄,不適用於集合。 改爲使用update_all(語法有點不同)。

+7

您還可以添加一個「.first」,將集合轉換爲單個記錄 – 0x4a6f4672 2011-07-05 16:41:22

相關問題