web-dev-qa-db-ja.com

Rails 3.1で自動スタイルシート/ JavaScript生成をオフにするにはどうすればよいですか?

Rails 3.1プロジェクトに取り組んでいますが、controller_name.css.sassを実行するたびにcontroller_name.js.coffeeRails generate controller controller_nameを生成したくありません。できますswearインターネットのどこかで設定を見たことがありますが、今は一生見つけることができません。それは何ですか?

アセットパイプラインとCoffeeScript/Sass統合を引き続き使用したいのですが、これらのファイルを独自の方法で整理していることに注意してください。

答えはコマンドライン引数だと確信していますが、ジェネレーター設定や隠しファイルなどでオフにするとボーナスポイントが得られます。

[〜#〜] edit [〜#〜]:コマンドラインフラグを見つけました。

Rails generate controller controller_name --assets=false

または同様のもの(その行は実際にはエラーになりますが、アセットも生成されません)。 API here は、デフォルトオプションとして:assets => trueを示しています。これをfalseに変更し、コントローラーを生成するたびに常にfalseにする方法を教えてください。

35
Ben Kreeger

これらの行をapplication.rbに追加します。

config.generators.stylesheets = false
config.generators.javascripts = false
84
Dmitry Maksimov

新しい構文はRails generate controller Resources --no-assetsです。

gの代わりにgenerateを使用することもできることを忘れないでください。また、--no-helperフラグを使用してコントローラーヘルパーの作成をスキップできます。

21
Lars Levie

一度だけ使用します:

Rails generate controller controller_name --no-assets
10
Dreammm

@DmitryMaksimovのRails 4.2に対する回答の更新。config/application.rbファイルで次のようにデフォルトでコントローラー固有のアセットファイルの生成を無効にできます(ソース: ガイド ):

config.generators do |g|
  g.assets false
end
7
Lucas Nelson

私のすべてのオプション:

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
1
aarkerio