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?

questionAnswers(1)

yourAnswerToTheQuestion