2011-09-25 54 views
2

我得到這個錯誤:未定義的方法`stringify_keys'爲:environ_gross_score:符號 當我試圖創建一個新的評級。調用update_attributes時未定義的方法`stringify_keys'?

class Rating < ActiveRecord::Base 
    belongs_to :city 


    after_save :calculate_rating 


def calculate_rating 
    @env = self.environ 

    self.city.environ_vote_count += 1         
    @c = self.city.environ_gross_score 
    @gross = @c += @env 
    self.city.update_attributes(:environ_gross_score, @gross) 
    @hold = self.city.environ_gross_score/self.city.environ_vote_count 
    self.city.update_attributes(:environ_rating, @hold) 
end 

end 

回答

7

update_attributes需要一個散列,而不是2個參數。行更改爲:

self.city.update_attributes(:environ_gross_score => @gross) 

錯誤是怎麼回事,因爲該方法假設通過了第一個參數是一個哈希,它不(在Rails中)到stringify_keys迴應。

相關問題