Я прочитал справку и попробовал следующую команду, чтобы пропустить создание тестов, ресурсов и вспомогательных файлов.
$ bin/rails generate controller home index --helper false --assets false --controller-specs false --view-specs false
create- app/controllers/home_controller.rb
route get "home/index"
invoke erb
create app/views/home
create app/views/home/index.html.erb
invoke rspec
error false [not found]
error false [not found]
Как вы можете заметить из вывода выше, это работает controller, routes
и views
генерируются только & . Но так как последние две строчки интересны:
error false [not found]
error false [not found]
Очевидно, рельсам не нравится --option-name false
синтаксис. так это ошибка, потому что я использовал неправильный синтаксис? Если да, то каков правильный путь? благодаря
источник
skip
вместоno
, например,--skip-assets
Чтобы выключить без добавления параметров:
# application.rb config.generators.assets = false config.generators.helper = false
источник
Приложения , которые служат только API не требуется
javascript
,stylesheet
,views
,helpers
. Чтобы пропустить эти файлы в генераторе / скаффолде,Rails 3.x
добавьте следующий блок кода вapplication.rb
#to skip assets, scaffolds.css, test framework, helpers, view config.generators do |g| g.template_engine nil #to skip views g.test_framework nil #to skip test framework g.assets false g.helper false g.stylesheets false end
проверьте ссылку, чтобы узнать больше о генераторах
источник
false
вместоnil
.Короче:
источник
Запись внутри файла application.rb: это перестанет генерировать все, кроме того, что написано в командной строке
config.generators do |g| g.test_framework nil g.template_engine nil g.asstes false g.helper false g.stylesheets false g.javascripts false end
Пример:
vidur@vidur-desktop:~/Downloads/tukaweb$ rails g controller uploader/three_d_models Running via Spring preloader in process 3703 create app/controllers/uploader/three_d_models_controller.rb invoke assets invoke js invoke scss
для решения с одним лайнером =>
источник
Если вы хотите создать только контроллер, ничего больше.
источник