Ricerca…


introduzione

Utilizzo: le rails generate GENERATOR_NAME [args] [options] .

Utilizzare le rails generate per elencare i generatori disponibili. Alias: rails g .

Parametri

Parametro Dettagli
-h / --help Ottieni aiuto su qualsiasi comando del generatore
-p / --pretend Modalità di finzione: lancia il generatore ma non crea o modifica alcun file
field:type 'nome-campo' è il nome della colonna da creare e 'tipo' è il tipo di dati della colonna. I possibili valori per "tipo" nel field:type sono indicati nella sezione Commenti.

Osservazioni

I possibili valori per "tipo" nel field:type sono:

Tipo di dati Descrizione
:string Per pezzi di testo più piccoli (di solito ha un limite di caratteri di 255)
:text Per pezzi di testo più lunghi, come un paragrafo
:binary Memorizzazione di dati tra cui immagini, audio e video
:boolean Memorizzazione di valori veri o falsi
:date Solo la data
:time Solo il tempo
:datetime Data e ora
:float Conservare i galleggianti senza precisione
:decimal Conservare i galleggianti con precisione
:integer Memorizzazione di numeri interi

Rotaie genera modello

Per generare un modello ActiveRecord che crea automaticamente le migrazioni di db corrette e i file di test di boilerplate per il modello, immettere questo comando

rails generate model NAME column_name:column_type

'NOME' è il nome del modello. 'campo' è il nome della colonna nella tabella DB e 'tipo' è il tipo di colonna (es. name:string o body:text ). Controlla la sezione Commenti per un elenco dei tipi di colonna supportati.

Per configurare chiavi esterne, aggiungere belongs_to:model_name .

Quindi, supponiamo che tu voglia configurare un modello User che abbia un username , un username email e appartenga a una School , dovrai digitare quanto segue

rails generate model User username:string email:string school:belongs_to

rails g è una scorciatoia per rails generate . Questo produrrebbe lo stesso risultato

rails g model User username:string email:string school:belongs_to

Rails genera migrazione

È possibile generare un file di migrazione delle guide dal terminale utilizzando il seguente comando:

rails generate migration NAME [field[:type][:index] field[:type][:index]] [options]

Per un elenco di tutte le opzioni supportate dal comando, è possibile eseguire il comando senza argomenti, in quanto i rails generate migration .

Ad esempio, se desideri aggiungere i campi first_name e last_name alla tabella users , puoi eseguire:

rails generate migration AddNamesToUsers last_name:string first_name:string

Rails creerà il seguente file di migrazione:

class AddNamesToUsers < ActiveRecord::Migration[5.0]
  def change
    add_column :users, :last_name, :string
    add_column :users, :first_name, :string
  end
end

Ora, applica le migrazioni in sospeso al database eseguendo quanto segue nel terminale:

5.0
rake db:migrate
5.0
rails db:migrate

Nota: per una digitazione ancora inferiore, è possibile sostituire generate con g .

Rails Generate Scaffold

NOTA BENE : Scaffolding non è raccomandato a meno che non sia per applicazioni / test CRUD molto convenzionali. Questo può generare un sacco di file (viste / modelli / controller) che non sono necessari nella tua applicazione web causando così mal di testa (cattivo :().

Per generare uno scaffold completamente funzionante per un nuovo oggetto, inclusi modello, controllore, viste, risorse e test, utilizzare il comando rails g scaffold .

$ rails g scaffold Widget name:string price:decimal
    invoke  active_record
    create    db/migrate/20160722171221_create_widgets.rb
    create    app/models/widget.rb
    invoke    test_unit
    create      test/models/widget_test.rb
    create      test/fixtures/widgets.yml
    invoke  resource_route
     route    resources :widgets
    invoke  scaffold_controller
    create    app/controllers/widgets_controller.rb
    invoke    erb
    create      app/views/widgets
    create      app/views/widgets/index.html.erb
    create      app/views/widgets/edit.html.erb
    create      app/views/widgets/show.html.erb
    create      app/views/widgets/new.html.erb
    create      app/views/widgets/_form.html.erb
    invoke    test_unit
    create      test/controllers/widgets_controller_test.rb
    invoke    helper
    create      app/helpers/widgets_helper.rb
    invoke    jbuilder
    create      app/views/widgets/index.json.jbuilder
    create      app/views/widgets/show.json.jbuilder
    invoke  assets
    invoke    javascript
    create      app/assets/javascripts/widgets.js
    invoke    scss
    create      app/assets/stylesheets/widgets.scss

Quindi puoi eseguire rake db:migrate per configurare la tabella del database.

Quindi puoi visitare http: // localhost: 3000 / widgets e vedrai uno scaffold CRUD perfettamente funzionante.

Rails Genera controller

possiamo creare un nuovo controller con il comando rails g controller .

$ bin/rails generate controller controller_name

Il generatore di controller prevede parametri sotto forma di generate controller ControllerName action1 action2 .

Di seguito viene creato un controller Greetings con un'azione di Ciao.

$ bin/rails generate controller Greetings hello

Vedrai il seguente output

     create  app/controllers/greetings_controller.rb
      route  get "greetings/hello"
     invoke  erb
     create    app/views/greetings
     create    app/views/greetings/hello.html.erb
     invoke  test_unit
     create    test/controllers/greetings_controller_test.rb
     invoke  helper
     create    app/helpers/greetings_helper.rb
     invoke  assets
     invoke    coffee
     create      app/assets/javascripts/greetings.coffee
     invoke    scss
     create      app/assets/stylesheets/greetings.scss

Questo genera il seguente

File Esempio
File di controllo greetings_controller.rb
Vedi il file hello.html.erb
File di test funzionale greetings_controller_test.rb
Visualizza Helper greetings_helper.rb
File JavaScript greetings.coffee

Aggiungerà anche percorsi per ogni azione in routes.rb



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow