깊이 중첩 된 모델로 form_for를 처리하는 방법을 포함하여 모든 구성 요소를 포함하는 3 중첩 된 양식의 예제를 찾으려고 몇 주 동안 둘러 보았습니다. Rails는 처음이지만 컨트롤러, 모델 및 뷰 연결을 보여주는 Group-> Project-> Tasks와 같은 항목에 대해 트리플 중첩 된 form_for의 예를 게시 할 수 있다면 좋아할 것입니다. Tasks와 함께 힘든 시간을 가짐 form_for. 감사.레일 : 트리플 중첩 된 양식 예
1
A
답변
0
글쎄, 당신이 고려할 수
일이 될 것이다 .. 나는 수준 이상의 깊이가 .. URL을 정말 빨리 탈출구 손을 얻을 중첩하지 않는 것이 좋습니다 솔직히 말해서 :
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 디렉토리에서 동일한 작업을 수행하고 각각의 부모에게보기를 중첩시킵니다. 양식에
, 당신은이 환상적인 링크 http://guides.rubyonrails.org/routing.html
입니다
form_for(@group) do |f|
form_for(@group, @project) do |f|
form_for(@project, @task) do |f|
처럼 뭔가를 할 것이라고하지만, 난 강력하게 당신이 루트의 깊은 중첩을하지 않는 것이 좋습니다 것입니다.
희망이 도움이됩니다.
감사합니다. Shawn. Groups-> Projects-> Tasks parent-child가 설정된 경우 경로를 깊이 중첩하지 않으려면 어떻게해야할까요? 깊은 중첩 및 얕은 라우팅을 피하는 기사를 보았습니다. 몇 번 시도해 보았지만 동일한 form_for 문제가 발생했습니다. 어떤 도움을 주셔서 감사합니다! 다시 한 번 감사드립니다! – CAKFinn