我已经环顾了几周试图找到包含所有组件的三重嵌套表单的示例,包括如何使用深层嵌套模型处理form_for。 Rails相当新,但是如果有人可以展示一个三重嵌套form_for的例子,比如Group-> Project-> Tasks,显示控制器,模型和视图连接。使用Tasks form_for度过了一段艰难时期。感谢。
答案 0 :(得分:0)
嗯,说实话,我不建议在一个以上的范围内筑巢......网址很快就会失控......
你可能想要考虑的事情是:resources :groups do
resources :projects, except: [:index], controller: 'groups/projects
end
resources :projects, except: [:index], controller: 'groups/projects do
resources :tasks, except: [:index], controller: projects/tasks
end
然后你的控制器看起来像:
class Groups::ProjectsController < ApplicationController
end
class Projects::TasksController < ApplicationController
end
然后您必须在controllers文件夹中创建以下目录:
groups(folder) => projects_controller.rb
projects(folder) => tasks_controller.rb
然后在views目录中,您将执行相同的操作并将视图嵌套到其各自的父级。
在您的表单中,您可以执行类似
的操作form_for(@group) do |f|
form_for(@group, @project) do |f|
form_for(@project, @task) do |f|
这是一个很棒的链接http://guides.rubyonrails.org/routing.html
但我强烈建议您避免深度嵌套路线。
希望这有帮助!