alexpchin/Rails_Generating_and_Scaffolding.md

L’uso da parte di Rails di rigide convenzioni sui nomi significa che molto codice core DOVREBBE avere lo stesso formato, chiunque lo scriva? Potrebbe essere scritto da un amico, un collega o un computer… non dovrebbe avere importanza perché le stesse regole di Rails si applicano a tutti.

Questo significa che Rails può effettivamente fare alcuni compiti per voi!..

Venendo da un altro linguaggio come PHP, questo può sembrare magico.

Riferimento rapido:

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

###Rails generatorIl comando rails generate usa template progettati per convenzione per creare un sacco di cose utili. Eseguendo rails generate da solo si ottiene una lista di generatori disponibili:

rails generate

o per i super-hackers:

rails g

Ci sono un sacco di generatori:

Rails:

  • asset
  • controller
  • generatore
  • helper
  • integration_test
  • mailer
  • migrazione
  • modello
  • osservatore
  • performance_test
  • risorsa
  • scaffold
  • scaffold_controller
  • session_migration
  • task

Caffè:

  • coffee:assets

Jquery:

  • jquery:install

Js:

  • js:assets

##Scaffolding in Rails

Lo strumento di scaffolding di Rails è un modo veloce per generare alcuni dei principali pezzi di codice in un’applicazione. Questo fa risparmiare un sacco di tempo quando si vuole essere operativi velocemente! (È super cool!)

A seconda di ciò che vuoi creare, lo scaffolding può generare automaticamente tutti o una combinazione di:

migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript

Ci potrebbe essere qualche altro file che fa… Non sono sicuro che sia una lista completa!

##Scaffolding di un’intera risorsa

Stai facendo lo scaffolding di cose associate ad un oggetto (singolare)

Se vuoi fare lo scaffolding di un’applicazione, devi fare lo scaffolding di ogni risorsa all’interno di quell’applicazione. Se vuoi fare un’applicazione di blogging per esempio – potresti impalcatura l’intera risorsa Post:

rails g scaffold Post

Il nome della risorsa Post deve essere:

  • UpperCamelCase
  • SINGULAR

Questo nome sarà il nome del modello, per esempio Post. Sarà anche il nome della classe del controllore (ma pluralizzato), per esempio PostsController E il nome della tabella (ma pluralizzato) per esempio posts

Dopo il nome della classe, puoi aggiungere le colonne della tabella e i loro tipi di dati.

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

Questi nomi di colonne della tabella dovrebbero essere:

  • lower_snake_case
  • SINGULAR

Questo perché ogni elemento Post deve avere un valore memorizzato in ogni colonna.

Se si eseguisse questo scaffold, creerebbe tutti questi file:

Nel PostController, tutti i metodi RESTful saranno creati e avranno tutti i loro file di vista corrispondenti.

Dopo aver creato il file di migrazione, per fare la modifica al database ricordati di eseguire:

rake db:migrate

##Generare solo un controller

Controlla molti oggetti (quindi è plurale)

A volte, vuoi generare solo un controller.

rails g controller Comments

Il nome del controller deve essere:

  • UpperCamelCase
  • PLURALIZED

Questo perché un controller si occupa di molti esempi di un oggetto, quindi dovrebbe essere plurale.

Questo farà questi file:

Questo NON creerà un file migrazione o un file modello.

##Generare solo un modello

Stai generando il contorno di un oggetto (singolare)

Se vuoi solo creare un modello, puoi fare:

rails g model Comment
  • UpperCamelCase
  • SINGULAR

Puoi anche aggiungere i nomi delle colonne a questo se vuoi:

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

Questi nomi di colonna della tabella dovrebbero essere:

  • lower_snake_case
  • SINGULAR

La generazione di un modello creerà questi file:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.