Создайте контроллер со всеми функциями 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 controller WhateverController new create edit update destroy show
одним из решений является создание скрипта, который принимает один параметр, имя контроллера, и позволяет скрипту ввести всю команду для вас.
- создайте новый файл, скажем, railsgcontroller
- сделайте его исполняемым и сохраните его на путь
- запустить его как: $ 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