Есть ли способ сделать это из приложения .rb?
Остановить Rails, генерирующие специальные тесты для представлений и помощников?
Ответ 1
изменить: короткий ответ сверху
Если вы хотите сделать это за каждый раз, когда запускаете генераторы, вы действительно настраиваете его в файле application.rb. Поместите этот код в файл внутри определения класса приложения.
config.generators do |g|
g.view_specs false
g.helper_specs false
end
Вы также можете выполнить это, передав некоторые параметры в команду генератора. This Railscast более подробно рассматривает этот процесс, но основная идея довольно проста.
Генераторы Rails могут принимать несколько параметров. Вы можете увидеть параметры генератора контроллера, выполнив rails g controller -h
. Предполагая, что у вас уже установлен Rspec, если вы посмотрите на результат, вы увидите раздел, в котором говорится "Параметры Rspec". Это выглядит так:
Rspec options:
[--controller-specs] # Indicates when to generate controller specs
# Default: true
[--view-specs] # Indicates when to generate view specs
# Default: true
Чтобы отменить эти логические значения, просто передайте их "нет" перед именем. Поэтому, если вы хотите иметь контроллер без каких-либо спецификаций для своего вида, вы бы назвали его следующим:
rails g controller Foobar index show new create --no-view-specs
И вы получите контроллер с правильными представлениями и действиями, созданными для вас, но не специфика для ваших просмотров.
То же самое применяется, если вы используете генератор scaffold
. Существует опция --helper-specs
, поэтому, если вы не хотите использовать какие-либо виды просмотра или вспомогательные спецификации:
rails g scaffold Foobar name:string --no-helper-specs --no-view-specs