下面是如何加入两个型号导轨和模块名称加入
User.where(:id => 1).joins(:posts)
但如何将两个型号的模块/ namspace
@schedules= Swimming::Classschedule.joins(:Swimming::Slot).where(:date => @date)
似乎不能正常工作(错误消息)
:Swimming is not a class/module
UPDATE
我已经更新到 @时间表=游泳:: Classschedule.joins(:swimming_slots)。凡(:日期=> @date)
,我确实有这个表
create_table :swimming_classschedules do |t|
t.integer :slot_id
t.integer :coach_id
t.integer :level_id
t.string :note
t.timestamps
end
create_table :swimming_slots do |t|
t.string :date
t.string :start
t.string :end
t.timestamps
end
Howcome我得到这个错误
Association named 'swimming_slots' was not found; perhaps you misspelled it?
更新2
添加该L INE到游泳:: Classschedule模块
belongs_to的:swimming_slots,:CLASS_NAME => '游泳::插槽',:foreign_key => “SLOT_ID”
和
变化联接到
@schedules= Swimming::Classschedule.joins(:swimming_slots).where(:swimming_slots =>{:date => @date})
现在它的工作原理
'':Swimming :: Slot'不是一个有效的Ruby表达式。如果你想要一个模块,它是'Swimming :: Slot'。如果你想要一个符号,它是':“Swimming :: Slot”'。 – sawa 2013-03-09 04:54:05