3

我嵌套了 has_many 关联

项目有很多部分 部分有很多任务 任务有很多工作

有没有比获得与项目相关的所有工作更好的方法

project.parts.each do |p|
  p.tasks.each do |t|
    t.jobs.each do |j|
      ...
    end
  end
end 

谢谢

4

1 回答 1

1

您可以在模型中定义方法时添加has_many与选项的关联。through#jobsProject

例如 :

class Project < ActiveRecord::Base
  has_many :parts
  has_many :tasks, through: :parts

  def jobs
    jobs = []
    tasks.each {|t| jobs << t.jobs }
    jobs.flatten
  end
end
于 2012-10-23T10:54:12.043 回答