Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 计数器缓存是否尊重计数器sql或条件?_Ruby On Rails_Ruby On Rails 3_Associations_Counter Cache - Fatal编程技术网

Ruby on rails 计数器缓存是否尊重计数器sql或条件?

Ruby on rails 计数器缓存是否尊重计数器sql或条件?,ruby-on-rails,ruby-on-rails-3,associations,counter-cache,Ruby On Rails,Ruby On Rails 3,Associations,Counter Cache,在Rails 3.2中,关联选项计数器缓存是否链接到其他选项,如计数器sql或条件 例如,如果我有这样的关联: class User has_many :items, :through => :orders has_many :active_items, :through => :orders :conditions => 'active = true', :source => :item class Order belongs_to

在Rails 3.2中,关联选项
计数器缓存
是否链接到其他选项,如
计数器sql
条件

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

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\u sql
/
计数器\u sql

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

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