2012-02-01 3 views
1

제임스 벅 (James Buck)이 this article을 읽었습니다.하지만 약간 오래된 것 같습니다.레일 3 : 중첩 된 리소스 3 레벨 딥?

resources :companies do 
    resources :users 
    resources :roles 
    resources :people do 
    resources :notes 
    end 
end 

이 내가 일을해야 무엇 : 여기

내가 나쁜 관행으로 간주 알고 무엇인가?

resources :companies do 
    resources :users, :roles, :people 
end 

resources :people do 
    resources :notes 
end 

누군가가 내게 왜 또는 왜 설명해 주실 수 있습니까?

+0

예, 그게 핵심입니다. – phoet

답변

0

둘 다 회사, 사용자, 역할 및 사용자에 대한 정확한 경로를 생성합니다.

하지만 노트 경로가 다릅니다. 같은 생성 노트 경로 :

에 대한 첫 번째 경우에

/people/:person_id/notes(.:format) 
/people/:person_id/notes/new(.:format) 

그래서 나는 그것의 생각 :

/companies/:company_id/people/:person_id/notes(.:format) 
/companies/:company_id/people/:person_id/notes/new(.:format) 

와 두 번째의 경우 노선에

이 회사와 관련이없는 것, 그리고처럼 보이는 귀하의 응용 프로그램과 선호하는 경로에 따라 다릅니다.

희망이 도움이 될 것입니다.

+1

경로가 다르다는 것을 알고 있지만 모범 사례로 간주되는 점이 더 궁금합니다. 두 단계를 넘어서 둥지를 읽지 않았으므로 두 번째 예가 모범 사례로 간주됩니까? 나는 레일스에 처음 왔고 오른발에서 시작하고 싶다. –

관련 문제