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