필자는 개발 과정에서 중첩 된 리소스가 그만한 가치가 없다고 생각하고 있습니다.노력 가치가있는 깊이있는 중첩 된 다형성 리소스입니까?
resources :first-level do
resources :comments
resources :second-level do
resources :comments
resources :first-child do
resources :comments
end
resources :second-child do
resources :comments
end
resources :third-child do
resources :comments
end
end
end
키커는 의견이 다른 자원에 대한 다형성 있다는 것입니다 :
나는 이런 식으로 뭔가가있다. 제 의도는 ~/first-level/34/comments, ~/first-level/34/second-level/56/third-level/comments 등 깨끗한 URL을 찾는 것입니다.
지금까지 문제는 중첩 된 다형성 경로는 슬픔을 유발합니다. 나는 Ryan Bates Railkeasts를 예로 들었다. 예를 들어 나는 그것이 잘 작동 첫 번째 수준에 polymorphic_path를 사용하려고 내가 얻는 경우 :
polymorphic_path([@commentable, comments]) => ~/first-level/34/comments
하지만 ~/first-level/34/second-level/23
에서 동일한 코드와 함께 실패합니다
undefined method 'second-level_comment_path' for #<#<Class:0x007fcc4acfbe58>:0x007fcc4ae73d08>
하지만 난 내 경로를 볼 때 실제라는 경로는 first-level_second-level_comment
입니다. 나는 수동으로 그 기본적으로 별칭을 first-level_second-level_comment
만들려고했지만 그 중 하나를 만들 수없는 것.
누군가가 명백한 오류를 지적 할 수있는 경우가 아니라면이 접근법 (http://weblog.jamisbuck.org/2007/2/5/nesting-resources)으로 기울어 져 있으며 이들을 중첩하지 않습니다. 나는 빵집을 탐색 할 수있는 스타일 네비게이션을 가지고 있으므로 검색은 충분해야하며, URL을 보면 좀 더 다루기 힘들게 느껴진다.
팁 주셔서 감사합니다. 나는 내 자원을 비포장하기 시작했고 둥지로 고생하는 것이 어려웠다는 것을 신속하게 발견했습니다. 주어진 중첩 된 리소스를 사용하면 경로의 계층 구조, 즉 first_second_third_etc_path를 쉽게 재구성 할 수 있습니다. –