在Rails中访问子表的子表

时间:2009-04-21 12:41:41

标签: ruby-on-rails ruby activerecord

我在我正在编写的应用程序中对我的数据库有一个“树状”结构,以便:

training has_many class_times 

class_time has_many reservations

有没有办法在特定培训下查找所有预订?当然,我可以遍历所有课堂时间/添加外键,但出于某种原因,我脑子里有一个小小的声音,说我可能不需要外键。

1 个答案:

答案 0 :(得分:4)

class Training < ActiveRecord::Base
  has_many :class_times
  has_many :reservations, :through => :class_times
end

class ClassTime < ActiveRecord::Base
  has_many :reservations
end

然后你可以这样做:

training = Training.find(:first)
training.reservations