ruby on rails - counter cache是否尊重counter_sql或条件?



在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

由于您提到的原因,我最终很少使用计数器缓存,而是总是创建我自己的缓存。响应on_save和on_create回调,并调用一个方法来更新计数。

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

相关内容

  • 没有找到相关文章

最新更新