1

これは不可能だと読みましたが、他の誰かが可能だと言いました。彼らは私にこのコードをくれましたが、行かなければなりませんでした.今、これが機能するまで私のアプリは壊れています:/

タグモデルがあり、各タグには多くのリソースがあります:スルー=>リソースタグ。各リソースにも has_many タグがあります。

各タグが持っているリソースの数を知る必要があります (その逆は気にしません)。

問題は、unknown key cache_counter と表示されることです

これは私のモデルです

タグ.rb

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

Resource.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 に答える