Синтаксис для пропуска создания тестов, ресурсов и помощников для 'rails generate controller'?
Я прочитал справку и попробовал следующую команду, чтобы пропустить создание тестов, активов и вспомогательных файлов
$ 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
. так эта ошибка, потому что я использовал неправильный синтаксис? Если да, то каков правильный путь? Благодаря
Ответы
Ответ 1
Попробуйте использовать --no-
, а затем optionname
:
rails generate controller home index --no-helper --no-assets --no-controller-specs --no-view-specs
Если вы хотите изменить поведение по умолчанию при каждом запуске команды генератора, вы можете настроить значения по умолчанию, которые вы хотели бы в файле application.rb - см. Как я могу убедиться Rails не генерирует специальные тесты для просмотров и помощников?.
Ответ 2
Чтобы отключить, не добавляя опций:
# application.rb
config.generators.assets = false
config.generators.helper = false
Ответ 3
Приложения, которые обслуживают только API, не потребуют javascript
, stylesheet
, views
, helpers
. Чтобы пропустить эти файлы в генераторе/эшафоте, добавьте ниже код в 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
проверьте ссылку для получения более подробной информации о generators
Ответ 4
Более кратко:
rails g controller home index --no-assets --no-test-framework