alexpchin/Rails_Generating_and_Scaffolding.md

El uso de Rails de estrictas convenciones de nomenclatura significa que gran parte del código del núcleo DEBERÍA tener el mismo formato sea quien sea el que lo escriba? Podría ser escrito por un amigo, un colega o un ordenador… no debería importar porque las mismas reglas de Rails se aplican a todos.

Esto significa que Rails puede realmente hacer algunas tareas por ti! Puede realmente construir cosas y escribir código en tu nombre…

Al venir de otro lenguaje como PHP, esto puede parecer magia.

Referencia rápida:

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

##Rails generatorEl comando rails generate utiliza plantillas diseñadas por convención para crear un montón de cosas útiles. Ejecutar rails generate por sí mismo da una lista de generadores disponibles:

rails generate

o para los super-hackers:

rails g

Hay un montón de generadores:

Rails:

  • activos
  • controlador
  • generador
  • ayudante
  • prueba de integración
  • mailer
  • migración
  • modelo
  • observador
  • prueba_de_rendimiento
  • recurso
  • cajón
  • controlador_de_cajón
  • migración_de_sesión
  • tarea

Café:

  • coffee:assets

Jquery:

  • jquery:install

Js:

  • js:assets

#Scaffolding en Rails

La herramienta de scaffolding de Rails es una forma rápida de generar algunas de las principales piezas de código de una aplicación. Esto ahorra mucho tiempo cuando se quiere poner en marcha rápidamente. (¡Es super guay!)

Dependiendo de lo que quieras crear, el andamiaje puede autogenerar todo o una combinación de:

migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript

Puede haber algunos archivos más que hace… No estoy seguro de que sea una lista completa!

#Scaffolding un recurso completo

Estás andando cosas asociadas a un objeto (singular)

Si quieres andamiar una aplicación, necesitas andamiar cada recurso dentro de esa aplicación. Si quieres hacer una aplicación de blogging, por ejemplo – podrías andamiar todo el recurso Post:

rails g scaffold Post

El nombre del recurso Post tiene que ser:

  • UpperCamelCase
  • SINGULAR

Este nombre va a ser el nombre del modelo, por ejemplo Post. También va a ser el nombre de la clase del controlador (pero pluralizado), por ejemplo PostsController Y el nombre de la tabla (pero pluralizado) por ejemplo posts

Después del nombre de la clase, puedes añadir las columnas de la tabla y sus tipos de datos.

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

Los nombres de las columnas de la tabla deberían ser:

  • lower_snake_case
  • SINGULAR

Esto se debe a que cada elemento de Post debe tener un valor almacenado en cada columna.

Si ejecutamos este scaffold, se crearán todos estos archivos:

Dentro del PostController, se crearán todos los métodos RESTful y todos ellos tendrán sus correspondientes archivos de vista.

Después de crear el fichero de migración, para hacer el cambio en la base de datos recuerda ejecutar:

rake db:migrate

##Generar sólo un controlador

Controla muchos objetos (por eso es plural)

A veces, quieres generar sólo un controlador.

rails g controller Comments

El nombre del controlador tiene que ser:

  • UpperCamelCase
  • PLURALIZADO

Esto se debe a que un controlador maneja muchos ejemplos de un objeto, por lo que debe ser plural.

Esto hará estos archivos:

Esto NO creará un archivo de migración o un archivo de modelo.

#Generar sólo un modelo

Estás generando el contorno de un objeto (singular)

Si sólo quieres crear un modelo, puedes hacer:

rails g model Comment
  • UpperCamelCase
  • SINGULAR

También puedes añadir los nombres de las columnas a esto si quieres:

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

Los nombres de las columnas de la tabla deben ser:

  • MayorCamelCase
  • SINGULAR

La generación de un modelo creará estos archivos:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.