Перезагрузите свежие данные класса после вызова метода 'save' - PullRequest
2 голосов
/ 19 июля 2011

Я использую Ruby on Rails 3.0.9 и пытаюсь обновить результат запроса к базе данных.

Мой поток данных выглядит следующим образом:

Articles::UserRelationship.where(:user_id => user.id).count # Load data
@article.save
Articles::UserRelationship.where(:user_id => user.id).count # Load cached data

Во второй раз язагрузить Articles::UserRelationship Я бы не хотел загружать кэшированные данные, чтобы я мог получить эти обновленные данные.

Как мне сделать , так как приведенный выше код загружает всегда кэшированные данные для второго оператора?

PS: я пытался использовать метод reload, но швы не работают.

1 Ответ

4 голосов
/ 19 июля 2011

вы можете настроить ActiveRecord config, чтобы отключить кеш запросов:

API-ссылки на github

попробуйте это

Articles.uncached do
  Articles::UserRelationship.where(:user_id => user.id).count
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...