Rails 3 ActiveRecord активно загружает область - PullRequest
15 голосов
/ 29 октября 2011

Помогите мне, пожалуйста. У меня есть некоторая модель, которая имеет ассоциацию с другой моделью. Например: профиль => has_many: статистика А внутри статистической модели у меня есть область видимости:

scope last_ten, limit(10).order('online desc')

И вопрос: как я могу использовать энергичную нагрузку для этой области? Мне не нужны все записи статистики для профиля. Только область.

Теперь я могу использовать только

 User.profiles.includes(:statistics)

Спасибо.

1 Ответ

20 голосов
/ 29 октября 2011

Как объяснено здесь: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

Лучше определить пользовательское отношение:

class Profile < ActiveRecord::Base
  has_many :most_recent_stats, :class_name => 'Statistic', :order => 'online DESC', :limit => 10
  ...
end

User.profiles.includes(:most_recent_stats)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...