Active Record объединяет более 3 столов - PullRequest
2 голосов
/ 20 июня 2010

Я пытаюсь найти все термины и курсы, которые относятся к контакту.

Вот мои модели

class Register < ActiveRecord::Base
 belongs_to :session
 belongs_to :contact
end

class Session < ActiveRecord::Base
 belongs_to :term  
 belongs_to :course
 has_many :registers
 has_many :contacts, :through => :registers
end

Здесь вы найдете написанное

@data = Register.all :joins => {:session =>[:term, :course]}  , :conditions => ["contact_id = ?", params[:id]]

Когда я запускаю запрос, все, что я получаю, это записи сеанса, а не термины или курсы

Спасибо

Alex

1 Ответ

4 голосов
/ 20 июня 2010

Попробуйте использовать: include вместо: joins. Что-то вроде:

@data = Register.all :include => {:session =>[:term, :course]}  , :conditions => ["contact_id = ?", params[:id]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...