Ruby on Rails
Los rieles generan comandos.
Buscar..
Introducción
Uso: los rails generate GENERATOR_NAME [args] [options]
.
Use rails generate
para listar generadores disponibles. Alias: rails g
.
Parámetros
Parámetro | Detalles |
---|---|
-h / --help | Obtenga ayuda en cualquier comando del generador |
-p / - --pretend | Modo de simulación: ejecute el generador pero no creará ni cambiará ningún archivo |
field:type | 'nombre-campo' es el nombre de la columna que se creará y 'tipo' es el tipo de datos de la columna. Los valores posibles para 'tipo' en el field:type se dan en la sección Comentarios. |
Observaciones
Los valores posibles para 'tipo' en el field:type
son:
Tipo de datos | Descripción |
---|---|
:string | Para fragmentos de texto más pequeños (generalmente tiene un límite de caracteres de 255) |
:text | Para textos más largos, como un párrafo. |
:binary | Almacenamiento de datos incluyendo imágenes, audios y videos |
:boolean | Almacenar valores verdaderos o falsos |
:date | Solo la fecha |
:time | Solo el tiempo |
:datetime | Fecha y hora |
:float | Almacenando flotadores sin precisión |
:decimal | Almacenando flotadores con precisión |
:integer | Almacenando números enteros |
Generar rieles modelo
Para generar un modelo ActiveRecord
que genere automáticamente las migraciones db correctas y los archivos de prueba para su modelo, ingrese este comando
rails generate model NAME column_name:column_type
'NOMBRE' es el nombre del modelo. 'campo' es el nombre de la columna en la tabla de base de datos y 'tipo' es el tipo de columna (por ejemplo, name:string
o body:text
). Consulte la sección de Comentarios para obtener una lista de los tipos de columna admitidos.
Para configurar las claves foráneas, belongs_to:model_name
.
Entonces, digamos que desea configurar un modelo de User
que tenga un username
, email
y pertenezca a una School
, escriba lo siguiente
rails generate model User username:string email:string school:belongs_to
rails g
son taquigrafía para rails generate
. Esto produciría el mismo resultado.
rails g model User username:string email:string school:belongs_to
Rails Generar Migración
Puede generar un archivo de migración de rieles desde el terminal usando el siguiente comando:
rails generate migration NAME [field[:type][:index] field[:type][:index]] [options]
Para obtener una lista de todas las opciones admitidas por el comando, puede ejecutar el comando sin ningún argumento, ya que los rails generate migration
.
Por ejemplo, si desea agregar first_name
y last_name
campos a users
la tabla, que puede hacer:
rails generate migration AddNamesToUsers last_name:string first_name:string
Rails creará el siguiente archivo de migración:
class AddNamesToUsers < ActiveRecord::Migration[5.0]
def change
add_column :users, :last_name, :string
add_column :users, :first_name, :string
end
end
Ahora, aplique las migraciones pendientes a la base de datos ejecutando lo siguiente en el terminal:
rake db:migrate
rails db:migrate
Nota: Para escribir menos, puede reemplazar
generate
cong
.
Rieles Generan Andamios
NEGACIÓN DE RESPONSABILIDAD : No se recomienda el uso de andamios a menos que sea para aplicaciones / pruebas CRUD muy convencionales. Esto puede generar una gran cantidad de archivos (vistas / modelos / controladores) que no son necesarios en su aplicación web, causando así dolores de cabeza (mal :().
Para generar un andamio en pleno funcionamiento para un nuevo objeto, incluidos el modelo, el controlador, las vistas, los activos y las pruebas, use el 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
Luego puede ejecutar rake db:migrate
para configurar la tabla de la base de datos.
Luego puede visitar http: // localhost: 3000 / widgets y verá un andamio CRUD completamente funcional.
Rails Generate Controller
Podemos crear un nuevo controlador con el comando rails g controller
.
$ bin/rails generate controller controller_name
El generador del controlador espera parámetros en forma de generate controller ControllerName action1 action2
.
Lo siguiente crea un controlador de saludos con una acción de hola.
$ bin/rails generate controller Greetings hello
Verás la siguiente salida.
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
Esto genera lo siguiente
Expediente | Ejemplo |
---|---|
Archivo controlador | greetings_controller.rb |
Ver archivo | hello.html.erb |
Archivo de prueba funcional | greetings_controller_test.rb |
Ver Ayudante | greetings_helper.rb |
Archivo de JavaScript | greetings.coffee |
También agregará rutas para cada acción en routes.rb