Каков синтаксис для пропуска создания тестов, активов и помощников при запуске "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 синтаксис. так это эта ошибка, потому что я использовал неправильный синтаксис? Если да, то каков правильный путь? Спасибо

4 65

4 ответа:

попробуйте использовать --no- затем optionname:

rails generate controller home index  --no-helper --no-assets --no-controller-specs --no-view-specs

Если вы хотите изменить поведение по умолчанию каждый раз, когда вы запускаете команду генератора, вы можете настроить значения по умолчанию, которые вы хотели бы в приложении.rb файл-см. как я могу убедиться, что Rails не генерирует тесты спецификаций для представлений и помощников?.

чтобы выключить без добавления опций:

# application.rb
config.generators.assets = false
config.generators.helper = false

приложения, которые обслуживают только API, не требуют javascript,stylesheet,views,helpers. Чтобы пропустить эти файлы в generator / scaffold, добавьте следующий блок кода в 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

проверьте ссылку для более подробной информации о генераторы

более лаконично:

rails g controller home index --no-assets --no-test-framework