Głębokie zagnieżdżone zasoby na poziomie 3 szyn
Wiem, że wielu programistów szyków twierdzi, że zagnieżdżanie zasobów ponad 2 poziomy jest złe. Zgadzam się również, ponieważ robi się bałagan, gdy twoje adresy URL wyglądają jak mysite.com/account/1/people/1/notes/1. Próbuję znaleźć sposób wykorzystania zagnieżdżonych zasobów, ale bez zagnieżdżania ich na 3 poziomach.
Jest to zły sposób na zrobienie tego, ponieważ programiści szyny nie zalecają tego, a także bardzo trudno jest sobie wyobrazić jak zagnieździć to w kontrolerze lub widoku formularza.
resources :account do
resources :people do
resources :notes
end
end
Prawidłowy sposób, w jaki programiści twierdzą, że należy to zrobić, jest taki
resources :account do
resources :people
end
resources :people do
resources :notes
end
Oto problem, na który zawsze wpadam. Kiedy odwiedzam konto / 1 / osoby, mogę dodać osobę do konta i powiedzmy, że adres URL jest podobny do mysite.com/account/1/people/1 i to działa dobrze.
Teraz, gdy próbuję uzyskać dostęp do mysite.com/people/1/notes z konta 1, pojawia się błąd
Nie można znaleźć osób bez identyfikatora konta
Jak to działa poprawnie?