새로운 코멘트가 추가되면 속성 : average_rate를 업데이트해야합니다. 나는 page.rb_changed? method counter_cache를 사용할 때
def update_average_rate(comment)
if comments_count_changed?
write_attribute :average_rate, (comments.sum(:rate)/comments.count.to_f).ceil
end
end
에 comments.rb
belongs_to :page, :counter_cache => true
과 page.rb
has_many :comments
after_save :update_average_rate
및 update_average_rate 방법이 있지만이 작업을 나던. 내가하고있는 동안 update_average_rate 메서드에서
raise comments_count_changed?.inspect
을 출력하면 "false"를 출력하지만 comments_count는 변경됩니다. 내가 뭘 잘못하고 있니? 미리 감사드립니다.
': before_save' 후크를 사용해보십시오. –
시도, 동일한 결과 ( – Pavel