Ответ 1
Добавьте эти строки в application.rb
:
config.generators.stylesheets = false
config.generators.javascripts = false
У меня есть проект Rails 3.1, над которым я работаю, но я не хочу, чтобы controller_name.css.sass
и controller_name.js.coffee
генерировались каждый раз при запуске rails generate controller controller_name
. Я мог бы поклясться, что видел обстановку где-то в Интернете, но я не могу найти ее сейчас для жизни. Что это?
Имейте в виду, что я все еще хочу использовать Asset Pipeline и интеграцию CoffeeScript/Sass, но я организую эти файлы по-своему.
Я уверен, что ответ - это аргумент командной строки, но бонусные баллы для его отключения с помощью настройки генератора или скрытого файла или чего-то еще.
EDIT: я нашел для него флаг командной строки.
rails generate controller controller_name --assets=false
Или что-то вроде этого (эта строка фактически ошибочна, но она также не генерирует активы). API здесь показывает :assets => true
как параметр по умолчанию. Как изменить это на false и всегда ли он быть ложным при создании контроллера?
Добавьте эти строки в application.rb
:
config.generators.stylesheets = false
config.generators.javascripts = false
Новый синтаксис rails generate controller Resources --no-assets
.
Не забывайте, что вместо generate
можно использовать g
. И вы можете пропустить создание хелпера контроллера, используя флаг --no-helper
.
В течение одного раза используйте:
rails generate controller controller_name --no-assets
Обновление для @Dmitry Maksimov отвечает за Rails 4.2. Вы можете отключить генерацию файлов активов, специфичных для контроллера, по умолчанию со следующим в вашем файле config/application.rb
(источник: руководство):
config.generators do |g|
g.assets false
end
Мои варианты:
config.generators do |g|
g.stylesheets = false
g.javascripts = false
g.test_framework :rspec, fixture: false
g.template_engine :haml
g.fixture_replacement :factory_girl, dir: 'spec/factories'
end