2011-09-25 51 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回应。

相关问题