我似乎无法让 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