rails guia crear controlador ruby-on-rails views models scaffold

ruby-on-rails - guia - crear controlador en ruby on rails



Cree vistas de Ruby on Rails(solo) después de que ya se hayan creado controladores y modelos (6)

"Otra herramienta" ...

¿Qué hay de poder hacer " script/generate view_for model_name "? :)

Hay una joya para eso: ver Mapper . Tiene Ruby on Rails 2 y 3 versiones.

Obtuve un proyecto que tiene controladores (solo código mínimo) y modelos, pero faltan las vistas. ¿Hay alguna manera de generar vistas solo con andamios u otra herramienta?


Esto es lo que el generador de andamios llama internamente:

rails g erb:scaffold User

erb es el motor de plantillas utilizado, por lo que también puedes usar haml:scaffold .

Debe especificar explícitamente los campos que le gustaría usar en el andamio: los rieles no los deducen automáticamente del modelo creado. Por ejemplo:

rails g erb:scaffold User firstname lastname reputation

Vea los rails g --help para ver opciones como saltarse, forzar sobreescritura, y ejecutar en seco o generate scaffold --help a información específica para generar andamios.


Me acabo de encontrar el mismo problema. Lo hice. Más detalles a continuación:
- Primero cambio el nombre de views / your_model a views / your_model_bak. Para revertir si falla más tarde
- Entonces, ejecuta el comando

rails g scaffold YourModel [field[:type][:index]] --skip

  • No olvides --opción de skip, no creará archivos existentes (controlador y modelo en este caso y algunos otros archivos)
  • Asegúrese de que la lista [campo [: tipo] [: índice]] esté actualizada

- Finalmente, debes actualizar tu permiso en tu controlador_modelo.

Espero que te ayude.


Para generar vistas después de que el controlador y los modelos ya estén creados, puede usar la línea de comando. Cambia a la carpeta en la que desea crear la nueva vista. Por ejemplo:

$ cd name_app/app/views/controller_name $ touch name_file

Para volver atrás de un uso de directorio:

$ cd ..


Un pequeño consejo es agregar " --no-test-framework " si usa Rspec y no desea generar archivos de prueba para cada vista en especificaciones / vistas


rails g scaffold User --migration=false --skip

El --skip significa omitir archivos que ya existen. (Lo opuesto es --force )

Si no quieres ayudantes, --helpers=false .

Muestra de salida después de eliminar mis vistas de User :

invoke active_record identical app/models/user.rb invoke test_unit identical test/unit/user_test.rb skip test/fixtures/users.yml route resources :users invoke scaffold_controller identical app/controllers/users_controller.rb invoke erb exist app/views/users create app/views/users/index.html.erb create app/views/users/edit.html.erb create app/views/users/show.html.erb create app/views/users/new.html.erb create app/views/users/_form.html.erb invoke test_unit identical test/functional/users_controller_test.rb invoke helper identical app/helpers/users_helper.rb invoke test_unit identical test/unit/helpers/users_helper_test.rb invoke assets invoke coffee identical app/assets/javascripts/users.js.coffee invoke scss identical app/assets/stylesheets/users.css.scss invoke scss identical app/assets/stylesheets/scaffolds.css.scss