Есть ли способ создать одиночный ресурс в рельсах? - PullRequest
8 голосов
/ 03 ноября 2011

Обычный способ скаффолдинга не работает, если вы работаете с единичным ресурсом, есть ли способ получить стандартные контроллеры через скаффолдинг? Скажем, если у пользователя есть только один пост, легко ли было выполнить команду вроде:

rails g scaffold post -singular

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Когда вы посмотрите на опции скаффолдов в Rails 3.1.1, вы увидите следующее:

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

Options:
  ...

ActiveRecord options:
  ...

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

Выход rails g scaffold Post name:string body:text --singleton равен

  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

Похоже, что леса создают обычные шаблоны представления.

В Rails 3.0 это была опция для всего генератора, а не только для Rspec. См. Railscast 216 для Генераторов в Rails 3 . Возможно, вы найдете в Rails 3.0.x генератор, который удовлетворит ваши потребности.

0 голосов
/ 06 мая 2013

Я согласен с этим, поэтому я создал проблему Github . Следуйте этому, если это поможет. Однако я обнаружил, что единственный способ исправить это - вручную решить проблему. Это означает, что имена меняются вручную. Я знаю, что вы не хотите этого делать, но я обнаружил, что иногда это единственный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...