所以我有一个主题的顶级课程,每个课程都可以通过parent_id
获得子主题belongs_to :parent, :class_name => "Topic"
has_many :sub_topics, :class_name => "Topic", :foreign_key => "parent_id"
每个主题都有频道......
has_many :channels
但是这只能得到直接的孩子......而且我一直在努力用一种巧妙的方式来获得所有主题的信道......包括2,3级,4等等... ..
has_many :sub_channels, :through => :sub_topics, source: :channels
这获得了第二级别的频道,但忽略了顶层和更深层......但这似乎是在我想要达到的目标的错误道路上......
是否有一个很好的网络资源可以解释如何执行此操作?
答案 0 :(得分:0)
花了很多时间研究这个...似乎最好的方法是使用嵌套的set / ancestry之类的宝石来节省自己构建大量的查询。感谢上面提到的评论者。