In meiner Rails-Anwendung beginnen sich die Controller zu stapeln (& gt; 30).
Wäre es Java, ich hätte schon vor langer Zeit begonnen, Unterpakete zu erstellen, aber ich bin ein bisschen zögerlich.
Ich habe bereits einen User
und einen Admin
Namespace, aber ich bin mir nicht sicher, ob es gut ist, eine feinere Namespacestruktur zu erstellen, besonders unter Berücksichtigung der Wartbarkeit.
Wie lautet der "Rails-Weg" in diesem Fall?
Vielen Dank im Voraus.
Ich weiß nicht, ob es einen idealen Weg gibt, aber speziell für das Projekt, das ich behandle, habe ich es unter einer Ordnerstruktur gruppiert. Zu Beginn, wieder speziell für mein Projekt, mussten wir uns mit nur ein paar Controllern beschäftigen, die Trainer und Manager genannt wurden. Aber im Laufe der Zeit begann die Größe von ihnen zu prall und wir mussten einige weitere Controller erstellen, die in einer breiten Kategorie zusammengefasst werden konnten. Dies führte zu einem flachen Wachstum.
Mehr Zeit verging und wir fingen an, es in Ordnern zu gruppieren, zum Beispiel in einem Ordner namens coach würden alle zugehörigen Funktionalitäten für einen Coach gehen und die Controllernamen würden wie class Coach::SchedulesController < ApplicationController
aussehen.
Diese Art der Gruppierung würde auch beim Schreiben der Funktionstests helfen. Sie möchten nicht, dass Ihr Funktionstest auch wahnsinnig viele Zeilen enthält.
Aber das Wesentliche, wie es Rails immer vorschlägt, ist ein dünner Controller und ein fettes Modell. Manchmal ist es vielleicht nicht so einfach, das zu verfolgen, und das sind einige Möglichkeiten, wie Sie die Schwierigkeiten überwinden können.
In Rails sind Namespacing-Controller (oder sogar, ugh, Modelle) unerwünscht. Ja, manchmal ist es notwendig oder einfach nur einfach, aber ich würde sagen, es ist nie wünschenswert.
Solange Ihre Controller mager sind und jeweils ein Modell darstellen, stört es mich nicht einmal 100 Controller in einem flachen Ordner. Wenn Sie wesentlich mehr Controller als Modelle haben, würde ich mir Sorgen machen.
Natürlich ist das alles IMHO.
Tags und Links ruby-on-rails