我收到此错误:未定义方法`stringify_keys':environ_gross_score:Symbol 当我试图创建一个新的评级时。
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
答案 0 :(得分:7)
update_attributes
采用单个哈希值,而不是2个参数。将行更改为:
self.city.update_attributes(:environ_gross_score => @gross)
错误发生是因为该方法假定传递的第一个参数是一个哈希,它(在Rails中)响应stringify_keys
。