我收到此错误:未定义方法 `stringify_keys' for :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
最佳答案
update_attributes
采用单个散列,而不是 2 个参数。将行更改为:
self.city.update_attributes(:environ_gross_score => @gross)
错误的发生是因为该方法假定传递的第一个参数是一个散列,它(在 Rails 中)响应 stringify_keys
。
关于ruby-on-rails - 调用 update_attributes 时未定义方法 `stringify_keys'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542774/