2011-04-10 26 views
44

¿Hay alguna forma de generar las vistas por separado utilizando el comando de generación de rieles? También estaría dispuesto a instalar una gema para lograr esa tarea si uno existe. Básicamente, el comando de andamios me da demasiado y prefiero codificar mi controlador a mano. Sin embargo, escribir la vista de índice con una tabla para los registros no sería muy eficiente.Ruby on Rails Generar vistas

+0

Debido a que es una gran mesa con un buen número de columnas escrito que la mano parece derrotar a algunos de los efectos de los carriles generadores –

+2

Posible duplicado de http://stackoverflow.com/questions/8114866/create-rails-views-only-after-controllers-and-models-are-already-created: su pregunta podría interpretarse en el sentido de que usted quiere * solo * se generarán vistas, sin tocar nada que ya exista, que las respuestas a continuación no lograrán. – sameers

Respuesta

69

Si utiliza el generador del controlador, esto generará la acción del controlador y la vista.

rails g controller controllername new create 

Esto creará acciones nuevas y creadas con sus vistas relevantes.

Aún necesita configurar sus rutas manualmente con esto.

+0

¿Cómo se especifica un modelo/controlador para generar las vistas? – Noz

+0

Se generan vistas para el controlador. 'rails g páginas de controlador sobre contact' creará los archivos' controllers/pages_controller.rb', 'views/pages/about.html.erb',' views/pages/contact.html.erb' – Gazler

+5

¿Qué pasa si solo quiero agregue una acción al controlador existente y desee que la página de vista se cree automáticamente –

2

la primera parte es el nombre del modelo/controlador, la segunda parte son las acciones.

0

Una situación particular es cuando se desea añadir un nuevo vista a un controlador existente.

En ese caso, solo use el comando normal, pero tenga cuidado de decir 'n' cada vez que se le solicite para no sobrescribir los archivos existentes.

Por ejemplo, la adición de una vista llamada 'invite' a un controlador existente denominado 'projects':

[email protected]:~/railsapps/project_manager$ rails -v 
Rails 5.1.4 
[email protected]:~/railsapps/project_manager$ rails generate controller projects invite 
Running via Spring preloader in process 46253 
    conflict app/controllers/projects_controller.rb 
Overwrite /home/smith/railsapps/project_manager/app/controllers/projects_controller.rb? (enter "h" for help) [Ynaqdh] n 
     skip app/controllers/projects_controller.rb 
     route get 'projects/invite' 
     invoke erb 
     exist app/views/projects 
     create app/views/projects/invite.html.erb 
     invoke test_unit 
    conflict test/controllers/projects_controller_test.rb 
    Overwrite /home/smith/railsapps/project_manager/test/controllers/projects_controller_test.rb? (enter "h" for help) [Ynaqdh] n 
     skip test/controllers/projects_controller_test.rb 
     invoke helper 
    identical app/helpers/projects_helper.rb 
     invoke test_unit 
     invoke assets 
     invoke coffee 
    identical  app/assets/javascripts/projects.coffee 
     invoke scss 
    conflict  app/assets/stylesheets/projects.scss 
    Overwrite /home/smith/railsapps/project_manager/app/assets/stylesheets/projects.scss? (enter "h" for help) [Ynaqdh] n 
     skip  app/assets/stylesheets/projects.scss 
[email protected]:~/railsapps/project_manager$