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