Tief verschachtelte Ressourcen auf Rails 3-Ebene
Ich weiß, dass viele Rails-Entwickler sagen, dass das Verschachteln Ihrer Ressourcen in mehr als zwei Ebenen eine Fehlfunktion darstellt. Ich stimme auch zu, weil es chaotisch wird, wenn Ihre URL so aussieht wie mysite.com/account/1/people/1/notes/1. Ich versuche, einen Weg zu finden, um verschachtelte Ressourcen zu verwenden, ohne sie 3 Ebenen tief zu verschachteln.
Dies ist die falsche Vorgehensweise, da Schienenentwickler dies nicht empfehlen und es auch sehr schwierig ist, herauszufinden, wie dies in der Controller- oder Formularansicht verschachtelt wird.
resources :account do
resources :people do
resources :notes
end
end
Die richtige Art und Weise, wie Schienenentwickler dies vorgeben, ist wie folgt
resources :account do
resources :people
end
resources :people do
resources :notes
end
Hier ist das Problem, auf das ich immer stoße. Jedes Mal, wenn ich account / 1 / people besuche, kann ich dem Account eine Person hinzufügen und sagen wir, die URL ist so, dass mysite.com/account/1/people/1 und das funktioniert.
Wenn ich jetzt versuche, von Konto 1 aus auf mysite.com/people/1/notes zuzugreifen, erhalte ich die Fehlermeldung
Personen ohne und Konto-ID können nicht gefunden werden
Wie kann das funktionieren?