alexpchin/Rails_Generating_and_Scaffolding.md

Die strengen Namenskonventionen von Rails bedeuten, dass ein Großteil des Kerncodes im gleichen Format sein MUSS, egal wer ihn schreibt? Es könnte von einem Freund, einem Kollegen oder einem Computer geschrieben werden … es sollte keine Rolle spielen, weil die gleichen Rails-Regeln für alle gelten.

Das bedeutet, dass Rails tatsächlich einige Aufgaben für Sie erledigen kann!

Wenn man von einer anderen Sprache wie PHP kommt, kann das wie Magie erscheinen.

Kurzreferenz:

rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references

##Rails generatorDer Befehl rails generate verwendet Schablonen, die nach Konvention entworfen wurden, um eine ganze Menge nützlicher Dinge zu erstellen. Wenn man rails generate ausführt, erhält man eine Liste der verfügbaren Generatoren:

rails generate

oder für Super-Hacker:

rails g

Es gibt eine Menge Generatoren:

Rails:

  • Assets
  • Controller
  • Generator
  • Helper
  • integration_test
  • Mailer
  • Migration
  • Model
  • observer
  • performance_test
  • resource
  • scaffold
  • scaffold_controller
  • session_migration
  • task

Coffee:

  • coffee:assets

Jquery:

  • jquery:install

Js:

  • js:assets

##Scaffolding in Rails

Das Scaffolding-Tool von Rails ist ein schneller Weg, um einige der wichtigsten Teile des Codes in einer Anwendung zu generieren. Das spart eine Menge Zeit, wenn man schnell loslegen will! (Es ist super cool!)

Abhängig davon, was man erstellen will, kann Scaffolding alle oder eine Kombination von:

migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript

Es könnte noch ein paar weitere Dateien geben, die es erstellt… Ich bin mir nicht sicher, ob das eine vollständige Liste ist!

##Gerüstbau einer ganzen Ressource

Sie erstellen Gerüste für Dinge, die mit einem Objekt (Singular)

Wenn Sie eine Anwendung gerüsten wollen, müssen Sie jede Ressource innerhalb dieser Anwendung gerüsten. Wenn man zum Beispiel eine Blogging-Anwendung erstellen möchte, könnte man die gesamte Ressource „Post“ gerüsten:

rails g scaffold Post

Der Ressourcenname Post muss lauten:

  • UpperCamelCase
  • SINGULAR

Dieser Name ist der Name des Modells, z.B. Post. Es wird auch der Name der Controller-Klasse (aber pluralisiert) sein, z.B. PostsController UND der Name der Tabelle (aber pluralisiert), z.B. Posts

Nach dem Klassennamen können Sie Tabellenspalten und ihre Datentypen hinzufügen.

rails g scaffold Post name:string title:string content:text

Die Namen dieser Tabellenspalten sollten lauten:

  • Low_snake_case
  • SINGULAR

Das liegt daran, dass jedes Post-Element einen Wert in jeder Spalte gespeichert haben soll.

Wenn Sie dieses Gerüst ausführen würden, würde es diese Dateien erstellen:

Innerhalb des PostControllers werden alle RESTful-Methoden erstellt und sie haben alle ihre entsprechenden View-Dateien.

Nach dem Erstellen der Migrationsdatei, um die Änderung an der Datenbank vorzunehmen, denken Sie daran:

rake db:migrate

##Nur einen Controller generieren

Er steuert viele Objekte (daher ist es Plural)

Manchmal möchte man nur einen Controller generieren.

rails g controller Comments

Der Name des Controllers muss lauten:

  • UpperCamelCase
  • PLURALIZED

Das liegt daran, dass ein Controller mit vielen Beispielen eines Objekts zu tun hat, also sollte er im Plural sein.

Dadurch werden diese Dateien erstellt:

Dadurch wird KEINE Migrationsdatei oder Modelldatei erstellt.

##Nur ein Modell erzeugen

Sie erzeugen den Umriss eines Objekts (Singular)

Wenn Sie nur ein Modell erzeugen wollen, können Sie dies tun:

rails g model Comment
  • UpperCamelCase
  • SINGULAR

Sie können auch die Spaltennamen hinzufügen, wenn Sie dies wünschen:

rails g model Comment commenter:string body:text article:references

Diese Tabellenspaltennamen sollten lauten:

  • UntereSchlangenform
  • SINGULÄR

Beim Erstellen eines Modells werden diese Dateien erstellt:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.