Создайте контроллер со всеми функциями RESTful

Я пытаюсь создать контроллер со всеми RESTful действиями, заглушенными. Я читал в текст ссылки все, что мне нужно было сделать, это использовать вызов генератора с именем контроллера, которое я получу. Итак, я запустил "script / generate Rspec_controller Properties" и получил пустой контроллер.

любые другие предложения будут с благодарностью.

10 ответов


Я не знаю об автоматическом способе сделать это, но если вы это сделаете:

script/generate controller your_model_name_in_plural new create update edit destroy index show

все они будут созданы для вас

обновление для Rails 4

rails g scaffold_controller Property

в Rails 3 также есть rails generate scaffold_controller .... Подробнее здесь.


EDIT (из-за некоторых комментариев) : оригинальный вопрос был в 2010 году-следовательно, ответ не для RAILS 4, а для rails 2!!

попробуйте использовать монтаж.

script/generate scaffold controller Properties

раздел официальных документов на Ruby On Rails

Я уверен, что вы можете найти больше информации, если вы делаете поиск google на рельсах лесов. Надеюсь, это поможет.

EDIT: Для рельсов 4

rails g scaffold_controller Property


в Rails 4/5 следующая команда делает трюк для меня.

rails g scaffold_controller Property --skip-template-engine

Он создал действия контроллера, но не представление.


вы ищете леса.

попробуй:

script/generate scaffold Property

Это даст вам контроллер, модель, миграцию и связанные тесты. Вы можете пропустить миграцию с помощью опции --skip-migration. Если вы не хотите остальных, вам придется удалить их самостоятельно. Не беспокойтесь о перезаписи существующих файлов, этого не произойдет, если вы не используете --force.

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


рельсы 5.1

отправная точка:

вы создали модель без контроллера, ни видом (например, через: rails generate model category)

цель:

обновите его до полного ресурса RESTful

:

rails generate scaffold_controller category

он заглушает контроллер лесов, его семь спокойных действий и связанных с ними представлений. (Примечание: Вы можете либо передать название модели CamelCased или under_scored.)

выход:

varus@septimusSrv16DEV4:~/railsapps/dblirish$ rails generate scaffold_controller category
Running via Spring preloader in process 45681
      create  app/controllers/categories_controller.rb
      invoke  erb
      create    app/views/categories
      create    app/views/categories/index.html.erb
      create    app/views/categories/edit.html.erb
      create    app/views/categories/show.html.erb
      create    app/views/categories/new.html.erb
      create    app/views/categories/_form.html.erb
      invoke  test_unit
      create    test/controllers/categories_controller_test.rb
      invoke  helper
      create    app/helpers/categories_helper.rb
      invoke    test_unit
      invoke  jbuilder
      create    app/views/categories/index.json.jbuilder
      create    app/views/categories/show.json.jbuilder
      create    app/views/categories/_category.json.jbuilder

в Rails 4 это rails g controller apps new create update edit destroy show index

или rails generate controller apps new create update edit destroy show index Если вы хотите записать весь срок :).


script / generate Rspec_scaffold свойство


нет никакого способа (которые я знаю? это задокументировано?) заглушить контроллер, кроме как через леса. Но вы могли бы сделать:

script/generate controller WhateverController new create edit update destroy show

одним из решений является создание скрипта, который принимает один параметр, имя контроллера, и позволяет скрипту ввести всю команду для вас.


  1. создайте новый файл, скажем, railsgcontroller
  2. сделайте его исполняемым и сохраните его на путь
  3. запустить его как: $ railsgcontroller Articles

die () {
    echo "Please supply new rails controller name to generate."
    echo >&2 "$@"
    exit 1
}

[ "$#" -eq 1 ] || die "1 argument required, $# provided"

rails g controller "" new create update edit destroy show index