Вы можете включить subtasks
вместе с tasks
следующим образом:
def show
@project = Project.includes({stages: {tasks: :sub_tasks}}).find(params[:id])
@stages = @project.stages
# Now when you iterate through stages, you can fetch tasks associated with each stage, and for each task, you can get subtasks. All of this happens without additional DB queries because of the "includes"
end
Это позволит выбрать все этапы, относящиеся к проекту, все задачи, связанные с каждым этапом, а затем подзадачи, связанные с каждое задание!