кеш счетчика не работает после обновления - PullRequest
1 голос
/ 28 февраля 2011

страниц модели

has_many :categorization
has_many :categories, :through => :categorization

категория модели

has_many :categorization
has_many :pages, :through => :categorization

модель категоризации

belongs_to :page
belongs_to :category, :counter_cache => :pages_count

когда я редактирую страницу и изменяю категории страницы, она не обновляет pages_count. Я что-то упустил или это нормально? Как я могу заставить это работать?

Обновление:

У меня есть столбец pages_count в таблице категорий, и кеш счетчика работает после создания и уничтожения.

Ответы [ 2 ]

3 голосов
/ 28 февраля 2011

Я нашел решение.Эта проблема была исправлена ​​в Rails 3.1.0.beta.Может быть, это помогает другим, у кого такая же проблема.Мне понадобилось 4 часа, чтобы узнать. Коммит здесь

0 голосов
/ 28 февраля 2011

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

В соответствии с документами вам необходимо добавить столбец в таблицу страниц, например #{table_name}_count.

запустите новую миграцию:

script/generate migration add_category_count_to_pages

Затем добавьте это, сделайте миграцию:

add_column :pages, :categories_count, :integer

Затем rake db:migrate

И это должно занятьпозаботьтесь об этом.

update

Кэш счетчика должен быть размещен в связанной таблице:

модель category.rb:

belongs_to :page, :counter_cache => :pages_count
belongs_to :category
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...