Rails 3 уровня глубоко вложенных ресурсов
Я знаю, что многие разработчики рельсов говорят, что вложение ваших ресурсов глубиной более 2 уровней - это неправильно. Я также согласен, потому что становится грязно, когда ваши URL выглядят как mysite.com/account/1/people/1/notes/1. Я пытаюсь найти способ использовать вложенные ресурсы, но не вкладывая их в 3 уровня.
Это неправильный способ сделать это, так как разработчики rails не рекомендуют его, а также очень трудно понять, как это вложить в контроллер или представление формы.
resources :account do
resources :people do
resources :notes
end
end
Правильный способ, которым разработчик рельсов говорит, что это должно быть сделано, выглядит так
resources :account do
resources :people
end
resources :people do
resources :notes
end
Вот проблема, с которой я всегда сталкиваюсь. Когда я захожу в учетную запись / 1 / people, я могу добавить в учетную запись человека и сказать, что URL-адрес похож на mysite.com/account/1/people/1, и это прекрасно работает.
Теперь, если я пытаюсь получить доступ к mysite.com/people/1/notes из учетной записи 1, я получаю ошибку
Can't find people without and account id
Как заставить это работать должным образом?