Recherche…


Introduction

Utilisation: les rails generate GENERATOR_NAME [args] [options] .

Utilisez les rails generate pour rails generate liste des générateurs disponibles. Alias: rails g .

Paramètres

Paramètre Détails
-h / --help Obtenir de l'aide sur n'importe quelle commande de générateur
-p / --pretend Mode de prétention: Exécuter le générateur mais ne créera ni ne modifiera aucun fichier
field:type «nom-de-champ» est le nom de la colonne à créer et «type» est le type de données de la colonne. Les valeurs possibles pour 'type' dans le field:type sont indiquées dans la section Remarques.

Remarques

Les valeurs possibles pour 'type' dans le field:type sont:

Type de données La description
:string Pour les petits morceaux de texte (a généralement une limite de caractères de 255)
:text Pour des morceaux de texte plus longs, comme un paragraphe
:binary Stockage de données comprenant des images, des audios et des vidéos
:boolean Stocker des valeurs vraies ou fausses
:date Seulement la date
:time Seul le temps
:datetime Date et l'heure
:float Stockage des flotteurs sans précision
:decimal Stockage des flotteurs avec précision
:integer Stocker des nombres entiers

Rails Generate Model

Pour générer un modèle ActiveRecord qui crée automatiquement les migrations de base de données et les fichiers de test corrects pour votre modèle, entrez cette commande.

rails generate model NAME column_name:column_type

'NAME' est le nom du modèle. "champ" est le nom de la colonne dans la table de base de données et "type" est le type de colonne (par exemple, name:string ou body:text ). Consultez la section Remarques pour obtenir une liste des types de colonne pris en charge.

Pour configurer des clés étrangères, ajoutez belongs_to:model_name .

Alors dites que vous vouliez configurer un modèle d' User qui a un username , un email et qui appartient à une School .

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

rails g est un raccourci pour rails generate . Cela produirait le même résultat

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

Rails Générer Migration

Vous pouvez générer un fichier de migration des rails à partir du terminal à l'aide de la commande suivante:

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

Pour obtenir une liste de toutes les options prises en charge par la commande, vous pouvez exécuter la commande sans aucun argument, car les rails generate migration .

Par exemple, si vous voulez ajouter first_name et last_name champs à users table, vous pouvez le faire:

rails generate migration AddNamesToUsers last_name:string first_name:string

Rails créera le fichier de migration suivant:

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

Maintenant, appliquez les migrations en attente à la base de données en exécutant les opérations suivantes dans le terminal:

5.0
rake db:migrate
5.0
rails db:migrate

Note: Pour encore moins de saisie, vous pouvez remplacer generate par g .

Rails Générer un échafaud

AVERTISSEMENT : L'échafaudage n'est pas recommandé, sauf s'il s'agit d'applications / tests CRUD très classiques. Cela peut générer beaucoup de fichiers (vues / modèles / contrôleurs) qui ne sont pas nécessaires dans votre application Web, provoquant ainsi des maux de tête (mauvais :().

Pour générer un échafaudage complet pour un nouvel objet, y compris le modèle, le contrôleur, les vues, les actifs et les tests, utilisez la commande 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

Ensuite, vous pouvez exécuter rake db:migrate pour configurer la table de base de données.

Ensuite, vous pouvez visiter http: // localhost: 3000 / widgets et vous verrez un échafaudage CRUD entièrement fonctionnel.

Rails Generate Controller

nous pouvons créer un nouveau contrôleur avec des commandes de contrôleur de rails g controller .

$ bin/rails generate controller controller_name

Le générateur de contrôleur attend des paramètres sous la forme de la generate controller ControllerName action1 action2 .

Ce qui suit crée un contrôleur de message d'accueil avec une action de salut.

$ bin/rails generate controller Greetings hello

Vous verrez la sortie suivante

     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

Cela génère le suivant

Fichier Exemple
Fichier de contrôleur greetings_controller.rb
Voir la fiche hello.html.erb
Fichier de test fonctionnel greetings_controller_test.rb
Afficher l'aide greetings_helper.rb
Fichier JavaScript greetings.coffee

Il ajoutera également des routes pour chaque action dans routes.rb



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow