1

我读过这是不可能的,然后其他人告诉我这是不可能的。他们给了我这段代码,但后来不得不走了,现在我的应用程序坏了,直到我让它工作:/

我有一个标签模型,每个标签都有很多资源:通过 => 资源标签。每个资源也有_many 标签。

我需要知道每个标签拥有的资源数量(我不关心其他方式)。

问题是它说unkown key cache_counter

这是我的模型

标签.rb

  has_many :resource_tags, :dependent => :destroy, :counter_cache => :resource_count
  has_many :resources, :through => :resource_tags

资源.rb

  has_many :resource_tags, :dependent => :destroy
  has_many :tags, :through => :resource_tags

我的迁移:

class CreateTags < ActiveRecord::Migration
  def change
    create_table :tags do |t|

      t.string  :name
      t.integer :resource_count, :default => 0

      t.timestamps
    end
  end
end
4

1 回答 1

2

:counter_cache选项用于belongs_to方法

在 resorce_tag 模型中

belongs_to :tag, :counter_cache => :resource_count

我认为最好命名列resources_count(复数)

于 2012-07-04T22:36:06.650 回答