在Rails 3.2中,关联选项counter_cache
是否与其他选项相关联,例如counter_sql
或conditions
?
例如,如果我有这样的关联:
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
答案 0 :(得分:0)
由于你提到的原因,我最终很少使用计数器缓存,而是始终创建自己的。对on_save和on_create回调做出反应并调用方法来更新计数。
如果您创建自己的一个提示,请使用@instance.update_column(:column, value)
。这将确保不会递归调用回调。