2012-02-01 29 views
1

私はJames Buckによってthis articleを読んだことがありますが、それは古くなっています。Rails 3:ネストされたリソース3レベルDeep?

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

どちらも、企業、ユーザー、役割、およびユーザーの正確なルートを生成します。

ただし、ノートのルートは異なります。ノートルートのようなものが生成されます:

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

を第2の場合にはルートが企業と関連していないだろう、と次のようになります。だから私はその考えて

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

のための最初のケースで

あなたのアプリケーションと好みのルートに依存します。

希望すると、これが役立ちます。

+1

私はルートが違うと理解していますが、ベストプラクティスとは何かについてもっと興味がありますか? 2つのレベルを超えてネストしないように読んだので、2番目の例はベストプラクティスと見なされますか?私はRailsを初め、右足でスタートしたい。 –

関連する問題