1
我已經讀過這個不可能的,然後有人告訴我這是可能的。他們給了我這個代碼,但後來不得不去,現在我的應用程序被打破,直到我得到這個工作:/counter_cache with has_many
我有一個標記模型,並且每個標記has_many資源:through =>資源標記。每個資源也有has_many標籤。
我需要知道每個標籤的資源數量(我不在意其他方式)。
的問題是它說未知的關鍵cache_counter
這是我的模型
Tag.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
所以我把它移動到上resource_tag模型:資源或:標籤?你能完成你的代碼嗎?我嘗試閱讀所有關於這個,但theres只有像1行 – Tallboy
所以現在我有在tag.rb:'has_many:resource_tags,:dependent =>:destroy',在resource_tag.rb我有'belongs_to:標籤,:counter_cache =>:resources_count'和resource.rb我有'has_many:resource_tags,:dependent =>:destroy'。是對的嗎?我也有't.integer:resources_count,:default => 0'在我的遷移 – Tallboy
我想是這樣).... –