Ich bin neu bei Rails, daher befindet sich mein aktuelles Projekt in einem seltsamen Zustand.
Eines der ersten Dinge, die ich generiert habe, war ein "Film" -Modell. Ich fing dann an, es detaillierter zu definieren, fügte ein paar Methoden hinzu usw.
Mir ist jetzt klar, dass ich es hätte generieren sollen, um rails generate scaffold
Dinge wie Routing, Ansichten, Controller usw. anzuschließen.
Ich habe versucht, das Gerüst zu generieren, aber es wurde eine Fehlermeldung angezeigt, dass bereits eine Migrationsdatei mit demselben Namen vorhanden ist.
Wie kann ich jetzt am besten ein Gerüst für meinen "Film" erstellen? (mit Schienen 3)
Antworten:
TL; DR :
rails g scaffold_controller <name>
Auch wenn Sie bereits ein Modell haben, können Sie mithilfe der
rails generate
Option die erforderlichen Controller- und Migrationsdateien generieren . Wenn Sie ausführenrails generate -h
, werden alle verfügbaren Optionen angezeigt.Wenn Sie ein Controller-Gerüst für Ihr Modell erstellen möchten, lesen Sie
scaffold_controller
. Aus Gründen der Klarheit hier die Beschreibung dazu:Um Ihre Ressource zu erstellen, würden Sie den
resource
Generator verwenden, und um eine Migration zu erstellen, können Sie auch denmigration
Generator sehen (siehe, es gibt ein Muster für all diesen Wahnsinn). Diese bieten Optionen zum Erstellen der fehlenden Dateien zum Erstellen einer Ressource. Alternativ können Sie einfachrails generate scaffold
mit der--skip
Option ausführen , alle vorhandenen Dateien zu überspringen :)Ich empfehle, einige Zeit damit zu verbringen, die Optionen in den Generatoren zu prüfen. Sie sind etwas, von dem ich glaube, dass sie in Büchern und dergleichen nicht sehr gut dokumentiert sind, aber sie sind sehr praktisch.
quelle
rails generate scaffold_controller MyModel
wird die Ansichtsebene generiert, aber die Modellattribute (Tabellenspalten) sind nicht enthalten, und Sie müssen diese manuell hinzufügen. Kennt jemand eine Lösung dafür? Ich bin auf Schienen 3.2.8.generate scaffold
wenn Sie ein Modell haben, aber einen Gerüstcontroller und neue Attribute zu einem gewünschten Modell hinzufügen möchten,scaffold_generator
gefolgt vonmigration
den Feldern, die Sie ändernTolle Antwort von
Lee Jarvis
, dies ist nur der Befehl zB; Wir haben bereits ein Modell namens User:quelle
Für diejenigen, die eine Rails-App mit vorhandener Datenbank starten, gibt es ein cooles Juwel, das aufgerufen wird
schema_to_scaffold
, um ein Gerüstskript zu generieren. es gibt aus:von Ihrem
schema.rb
unser Ihr umbenanntesschema.rb.
Überprüfen Sie esquelle
In Rails 5 können Sie weiterhin ausführen
um alle fehlenden Gerüstdateien zu erstellen oder
um den Controller zu erstellen und nur anzuzeigen.
Für eine bessere Erklärung schauen Sie sich das Schienengerüst an
quelle
Dieser Befehl sollte den Trick machen:
quelle
Sie können das Modell verwenden
scaffold_controller
und daran denken, es zu übergeben.attributes
Andernfalls wird ein Gerüst ohne die Attribute erstellt.Dieser Befehl generiert folgende Dateien:
quelle