class Chapter < ApplicationRecord
has_many :courses
end
class Course < ApplicationRecord
belongs_to: chapter
has_many :modules
end
class Moudule < ApplicationRecord
belongs_to: course
end
我想获得章节模块
我写了一段代码。
module_list = []
chapter = Chapter.find(1)
chapter.courses.each |course| do
course.modules.each |module| do
module_list.push(module)
end
end
module_list
但它并不聪明。
有好方法吗?
答案 0 :(得分:4)
这是“通过”协会的用途:
class Chapter < ApplicationRecord
has_many :courses
has_many :modules, :through => :courses
end
chapter = Chapter.find(1)
chapter.modules