2010-06-20 9 views
2

J'essaie de trouver tous les termes et les cours qui s'appliquent à un contact.Enregistrement actif rejoint plus de 3 tables

Voici mes modèles

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 

est le trouver ici un écrit

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

Quand je lance la requête tout ce que je reçois sont les enregistrements de session pas les termes ou les cours

Merci

Alex

Répondre

4

Essayez d'utiliser: include au lieu de: join. Quelque chose comme:

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

Merci !, cela a fonctionné – Alex

+3

Veuillez marquer comme répondu. – thomasfedb

Questions connexes