Создайте контроллер со всеми функциями 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
в рельсах 3 есть также
rails generate scaffold_controller ...
. Подробнее здесь.
редактировать (из-за некоторых комментариев) : оригинальный вопрос был в 2010 году-следовательно, ответ не для рельсов 4, а для рельсов 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