1
我已经环顾了几个星期,试图找到一个包含所有组件的三重嵌套窗体的示例,其中包括如何使用深度嵌套模型处理form_for。相当新的Rails,但会爱如果有人可以展示一个三重嵌套form_for的例子像Group-> Project-> Tasks,显示控制器,模型和视图连接。在任务form_for中遇到困难。谢谢。Rails:三重嵌套窗体示例
我已经环顾了几个星期,试图找到一个包含所有组件的三重嵌套窗体的示例,其中包括如何使用深度嵌套模型处理form_for。相当新的Rails,但会爱如果有人可以展示一个三重嵌套form_for的例子像Group-> Project-> Tasks,显示控制器,模型和视图连接。在任务form_for中遇到困难。谢谢。Rails:三重嵌套窗体示例
嗯,说实话,我不建议嵌套多个级别深..网址获取方式不可收拾真的很快..
东西,你可能要考虑是:
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
,你将不得不在控制器的文件夹中创建以下目录:
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
,但我强烈建议您避免路线的深层嵌套。
希望这有助于!
谢谢,肖恩。鉴于组织 - >项目 - >任务亲子关系,如果您正在构建这个项目,您将如何避免深度嵌套路线?我曾看过有关避免深层嵌套和浅层路由的文章,尝试了几次才解决问题,但遇到了一些相同的form_for问题。任何帮助表示赞赏!再次感谢! – CAKFinn