使用counter_culture,无法获得条件计数器缓存的工作

时间:2015-02-03 06:22:03

标签: ruby-on-rails counter-cache

我似乎无法使用counter_culture来处理条件计数器缓存。它与普通的计数器缓存完美配合。证书批准和拒绝按预期递增和递减。

所以在我的数据库中,对于Packet,slip_count通过packet.slips.size工作,但我无法弄清楚如何获得条件approved_count。我得到了:

NoMethodError: undefined method

我尝试引用的每种方式,即packet.slips.approved.size

class Packet < ActiveRecord::Base
  has_many :slips, :dependent => :destroy
  ...
end
class Slip < ActiveRecord::Base
  belongs_to :packet
  counter_culture :packet
  has_one :certificate
  ...
end
证书
class Certificate < ActiveRecord::Base
  belongs_to :slip
  counter_culture [:slip, :packet], :column_name => Proc.new {|model| model.approved? ? 'approved_count' : nil}
  ...
end

0 个答案:

没有答案