Prämisse: Normalerweise während der Vorbereitung einer neuen Ruby on Rails App, ich Modelle und Beziehungen in Bezug auf Benutzer navigieren. Normalerweise treffe ich einen Ort, an dem ich mich fragen muss, ob ich über die übliche "Faustregel" des Nistens nicht mehr hinausgehen sollte. Manchmal habe ich das Bedürfnis zu verschachteln, anstatt eine andere Namespace-Route zu erstellen und die Arbeit zu duplizieren.
Hier ein Beispiel:
Nest oder Nest nicht?
Modelle: Benutzer, Unternehmen, Standort
Nutzer hat und gehört zu vielen Firmen (viele zu viele)
Nutzer hat und gehört zu viele Standorte (viele zu viele)
Gesellschaft hat, gehört zu viele Standorte (viele zu viele)
Routen:
1 Ebene Verschachtelung
Benutzer /: user_id/Unternehmen/- Liste alle zu einem Benutzer verbundenen Unternehmen
Benutzer /: user_id/Orte/- Liste alle zu einem benutzerbezogenen Standorten
mehr als 1 gestrichenen Verschachtelung
Benutzer /: user_id/companies /: company_id/locations/- listet alle Firmenstandorte eines Benutzers auf
Also, meine Frage ist, ob es angemessen ist, mehr als 1 Ebene tief in RoR zu nisten? Ja oder Nein? Und warum?
Flache Routen FTW. Das ist fast sicher das, was du willst. LocastersController # index macht keinen Sinn als/locations, weil Sie nie/alle/die Standorte wollen.Aber Sie können alle Standorte unter/locations/ behalten, egal mit welchem Typ sie verknüpft ist. –
Otto