tutorial rails que ejemplos curso caracteristicas aprender ruby-on-rails ruby-on-rails-3

ruby on rails - rails - ¿Cómo ejecutar ''rieles generar andamios'' cuando el modelo ya existe?



ruby on rails que es (6)

Soy nuevo en Rails, por lo que mi proyecto actual se encuentra en un estado extraño.

Una de las primeras cosas que generé fue un modelo de "Película". Entonces comencé a definirlo con más detalle, añadí algunos métodos, etc.

Ahora me doy cuenta de que debería haberlo generado con rails generate scaffold para conectar cosas como el enrutamiento, las vistas, el controlador, etc.

Intenté generar el andamio, pero recibí un error diciendo que ya existe un archivo de migración con el mismo nombre.

¿Cuál es la mejor manera de crear andamios para mi "Película" ahora? (utilizando rieles 3)


En Rails 5 , todavía puedes correr

$rails generate scaffold movie --skip

para crear todos los archivos de andamio faltantes o

rails generate scaffold_controller Movie

para crear el controlador y ver solo.

Para una mejor explicación echa un vistazo a los rieles del andamio


Este comando debe hacer el truco:

$ rails g scaffold movie --skip


Gran respuesta por Lee Jarvis , este es solo el comando, por ejemplo; Ya tenemos un modelo llamado Usuario:

rails g scaffold_controller User


Para los que inician una aplicación de rieles con una base de datos existente, hay una gema genial llamada schema_to_scaffold para generar un script de andamio. da salida:

rails g scaffold users fname:string lname:string bdate:date email:string encrypted_password:string

desde su schema.rb nuestro renombrado schema.rb. Revisalo


Puede hacer uso de scaffold_controller y recuerde pasar los attributes del modelo, o se generará el andamio sin los atributos.

rails g scaffold_controller User name email # or rails g scaffold_controller User name:string email:string

Este comando generará los siguientes archivos:

create app/controllers/users_controller.rb invoke haml create app/views/users create app/views/users/index.html.haml create app/views/users/edit.html.haml create app/views/users/show.html.haml create app/views/users/new.html.haml create app/views/users/_form.html.haml invoke test_unit create test/controllers/users_controller_test.rb invoke helper create app/helpers/users_helper.rb invoke test_unit invoke jbuilder create app/views/users/index.json.jbuilder create app/views/users/show.json.jbuilder


TL; DR : rails g scaffold_controller <name>

Aunque ya tiene un modelo, aún puede generar el controlador y los archivos de migración necesarios utilizando la opción de rails generate . Si ejecuta rails generate -h puede ver todas las opciones disponibles para usted.

Rails: controller generator helper integration_test mailer migration model observer performance_test plugin resource scaffold scaffold_controller session_migration stylesheets

Si desea generar un andamio de controlador para su modelo, consulte scaffold_controller . Solo por claridad, aquí está la descripción de eso:

Apaga un controlador de andamios y sus vistas. Pase el nombre del modelo, ya sea CamelCased o under_scored, y una lista de vistas como argumentos. El nombre del controlador se recupera como una versión pluralizada del nombre del modelo.

Para crear un controlador dentro de un módulo, especifique el nombre del modelo como una ruta como ''parent_module / controller_name''.

Esto genera una clase de controlador en la aplicación / controladores e invoca a los generadores de marco de prueba y ayudante, de plantilla y de prueba.

Para crear su recurso, usaría el generador de resource , y para crear una migración, también puede ver el generador de migration (vea, hay un patrón en toda esta locura). Estos proporcionan opciones para crear los archivos que faltan para construir un recurso. Alternativamente, puede ejecutar rails generate scaffold con la opción --skip para omitir cualquier archivo que exista :)

Recomiendo pasar un tiempo mirando las opciones dentro de los generadores. Son algo que no creo que estén bien documentados en los libros, pero son muy útiles.