2011-11-03 11 views
8

La forma habitual de andamiaje no funciona si está trabajando con un recurso singular, ¿hay alguna manera de obtener controladores singulares predeterminados a través de andamios? Decir si un usuario tiene un solo mensaje es que hay un fácil fue para ejecutar un comando como:¿Hay alguna manera de andamiar un recurso único en los rieles?

rails g scaffold post -singular 

Respuesta

2

Cuando nos fijamos en las opciones de andamio en Rails 3.1.1, verá lo siguiente:

Usage: 
    rails generate scaffold NAME [field:type field:type] [options] 

Options: 
    ... 

ActiveRecord options: 
    ... 

Rspec options: 
    [--singleton]     # Supply to create a singleton controller 

la salida de rails g scaffold Post name:string body:text --singleton es

invoke active_record 
    create db/migrate/20111103072825_create_posts.rb 
    create app/models/post.rb 
    invoke rspec 
    create  spec/models/post_spec.rb 
    route resources :posts 
    invoke scaffold_controller 
    create app/controllers/posts_controller.rb 
    invoke haml 
    create  app/views/posts 
    create  app/views/posts/index.html.haml 
    create  app/views/posts/edit.html.haml 
    create  app/views/posts/show.html.haml 
    create  app/views/posts/new.html.haml 
    create  app/views/posts/_form.html.haml 
    invoke rspec 
    create  spec/controllers/posts_controller_spec.rb 
    create  spec/views/posts/edit.html.haml_spec.rb 
    create  spec/views/posts/new.html.haml_spec.rb 
    create  spec/views/posts/show.html.haml_spec.rb 
    invoke  helper 
    create  spec/helpers/posts_helper_spec.rb 
    create  spec/routing/posts_routing_spec.rb 
    invoke  rspec 
    create  spec/requests/posts_spec.rb 
    invoke helper 
    create  app/helpers/posts_helper.rb 
    invoke  rspec 
    invoke assets 
    invoke coffee 
    create  app/assets/javascripts/posts.js.coffee 
    invoke scss 
    create  app/assets/stylesheets/posts.css.scss 
    invoke scss 
identical app/assets/stylesheets/scaffolds.css.scss 

lo que parece que el andamiaje genera las plantillas de vista habituales.

En Rails 3.0 esta era una opción para todo el generador, no solo para Rspec. Vea el Railscast 216 for Generators in Rails 3. Quizás encuentre un generador en Rails 3.0.x que satisfaga sus necesidades.

+0

hmm Parece que en la documentación provista en el enlace debería pasar la opción -c, --singleton para que esto funcione. Sin embargo, cuando escribí eso en la línea de comando ejecuté el tipo regular de generador de andamios. – tomciopp

0

Estoy de acuerdo con esto, así que creé un Github issue. Sigue esto si ayuda. Sin embargo, encontré que la única forma de solucionar esto es solucionar el problema manualmente. Eso significa cambiar los nombres a mano. Sé que no quieres hacer eso, pero encontré algunas veces que es la única forma.

+0

Ver la solución anterior de mliebelt funciona muy bien – Brandt

Cuestiones relacionadas