Rails 3: вложенные ресурсы 3 уровня глубоко? - PullRequest
1 голос
/ 01 февраля 2012

Я прочитал эту статью Джеймса Бака , но она немного устарела.

Вот что я знаю, считается плохой практикой:

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

А может кто-нибудь объяснить мне, почему или нет?

1 Ответ

0 голосов
/ 01 февраля 2012

Оба будут генерировать точные маршруты для: компаний,: пользователей,: ролей и для: людей.

Но: маршрут заметок будет другим.

В первом случае для маршрута: notes будет сгенерировано что-то вроде:

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

и во втором случае маршруты не будут связаны с компаниями и выглядят так:

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

Так что я думаю, это зависит от вашего приложения и от того, какие маршруты вы предпочитаете.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...