Active Record连接超过3个表

时间:2010-06-20 12:04:05

标签: ruby-on-rails activerecord

我正在尝试查找适用于联系人的所有条款和课程。

以下是我的模特

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]]

当我运行查询时,我得到的是会话记录而不是术语或课程

由于

亚历

1 个答案:

答案 0 :(得分:4)

尝试使用:include而不是:join。类似的东西:

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