muszę zrobić coś takiegoCzy jest możliwe, aby ActiveRecord tworzył obiekty dla wierszy załadowanych przy użyciu opcji: join?
class User < ActiveRecord::Base
has_many :abuse_reports
end
class AbuseReport < ActiveRecord::Base
belongs_to :abuser, :class_name => 'User', :foreign_key => 'abuser_id'
belongs_to :game
end
class Game < ActiveRecord::Base
has_many :abuse_reports
end
@top_abusers = User.page(params[:page],
:joins => [
'JOIN abuse_reports ON users.id = abuse_reports.abuser_id',
'JOIN games ON games.id = abuse_reports.game_id'
],
:group => 'users.id',
:select => 'users.*, count(distinct games.id) AS game_count, count(abuse_reports.id) as abuse_report_count',
:order => 'game_count DESC, abuse_report_count DESC'
)
To działa, ale nie tworzyć obiekty dla AbuseReports lub Games - to po prostu zwraca stos rzędów. Kiedy odwołuję się do tych obiektów z mojego widoku, ładuje je ponownie. Czy istnieje sposób, aby to naprawić? Lub jakiś sposób, aby uzyskać to zachowanie bez użycia: join?
@jimgreer, wszelkie postępy w tym wydaniu? – vladr