Rails 3 ActiveRecord запрос - PullRequest
       0

Rails 3 ActiveRecord запрос

0 голосов
/ 24 марта 2011

Мне нужно перечислить наиболее популярные ресурсы конкретного пользователя, причем эти ресурсы встраиваются в несколько блогов, причем каждый блог генерирует несколько просмотров для этого ресурса.Мне нужно, чтобы выходные данные были отформатированы в ActiveRecord, чтобы я мог получить доступ к деталям каждого изображения.1006 * Рельсы 3 и области применения ?

1 Ответ

1 голос
/ 25 марта 2011

Я бы рекомендовал добавить кэш счетчика views_count в embed.rb.Если у вас нет counter_cache и предполагается, что он есть в asset.rb:

has_many :views, :through => :embeds

, вы можете сделать что-то вроде этого:

scope :by_popularity, select("assets.*, count(views.id) AS views_count").joins(:views).order('views_count')

Если вы добавите кеш счетчика,теперь станет:

scope :by_popularity, select("assets.*, sum(embeds.views_count) AS views_count").joins(:embeds).order('views_count')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...