添加新评论时,我需要更新属性:average_rate。我有comments.rb
belongs_to :page, :counter_cache => true
并在 page.rb
has_many :comments
after_save :update_average_rate
和 page.rb 中的 update_average_rate 方法
def update_average_rate(comment)
if comments_count_changed?
write_attribute :average_rate, (comments.sum(:rate) / comments.count.to_f).ceil
end
end
但它不起作用。当我在做
raise comments_count_changed?.inspect
在 update_average_rate 方法中,它输出 "false" ,但 comments_count 已更改。我做错了什么?提前致谢