0

在 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

4

1 回答 1

0

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

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

于 2013-01-14T18:25:57.157 回答