计数器缓存是否尊重counter_sql或条件?

时间:2013-01-14 06:00:32

标签: ruby-on-rails ruby-on-rails-3 associations counter-cache

在Rails 3.2中,关联选项counter_cache是否与其他选项相关联,例如counter_sqlconditions

例如,如果我有这样的关联:

class User
  has_many :items, :through => :orders
  has_many :active_items, :through => :orders
           :conditions => 'active = true', :source => :item

class Order
  belongs_to :users, :counter_cache => :active_items_count
  belongs_to :items

class Item
  has_many :users, :through => :orders

计数器缓存是否会尊重活动条件? (表示非活动项目不计算在内) 那么使用finder_sql / counter_sql

呢?

1 个答案:

答案 0 :(得分:0)

由于你提到的原因,我最终很少使用计数器缓存,而是始终创建自己的。对on_save和on_create回调做出反应并调用方法来更新计数。

如果您创建自己的一个提示,请使用@instance.update_column(:column, value)。这将确保不会递归调用回调。