after_save没有调用Heroku生产,但在本地工作

时间:2013-02-01 07:08:07

标签: ruby-on-rails heroku ruby-on-rails-3.2 rails-models

我有一个名为Rating的模型引用自己。

class Rating < ActiveRecord::Base
  has_many :ratings, :as => :ratable, :dependent => :destroy
  after_save :update_total_rating
  private
  def update_total_rating
    return true unless value_changed?
    rating_sum = Rating.sum('value',
        :conditions =>["ratable_id = ? and ratable_type = ?",
                       self.ratable_id, self.ratable_type])
    ratable.update_attribute(:total_rating, rating_sum)
    return true
  end
end

我这样做是为了缓存评级的总评分。这非常适合开发和更新total_rating,当我在Heroku Rails控制台(heroku run rails c)中进行模型保存时,它也在生产,但是当通过Heroku上托管的Web应用程序执行时,这不起作用,似乎没有因某种原因调用update_total_rating。

知道是什么导致了这个或如何解决这个问题?

由于

0 个答案:

没有答案