17

Rails 3.1 のリリース バージョンでは、拡張子scss. 奇妙なことに、デフォルトのマニフェスト ファイルはapplication.scss正常にコンパイルされ、public/assets/.

ただし、カスタム マニフェスト ファイルをコンパイルしようとすると、何も作成されません。プロダクション構成でプリコンパイル オプションを有効にしました。

config.assets.precompile += %w( user.scss admin.scss )

私が知る限り、プリコンパイル rake タスクを正しく実行しています。

rake assets:precompile RAILS_ENV=production

そして多分これが役に立ちます。scssではなくcssという拡張子を持つ 2 つの新しいマニフェスト ファイルを作成し、元の scss ファイルが必要な場合、これらの新しいマニフェスト ファイルは受け入れられ、適切にコンパイルされます。他の sass マニフェスト ファイルではなく、この特別な扱いを受けるのはなぜですか?application.scss

4

2 に答える 2

27

コンパイルされたファイル名をプリコンパイルリストに含めます。

config.assets.precompile += %w( user.css admin.css )

また、元のファイルの名前を変更してapp/assets/stylesheets、コンパイルされた拡張子を元のファイル名に含めて、何が起こっているのかを明確にすることもできます。

user.scss -> user.css.scss
admin.scss -> admin.css.scss
于 2012-01-31T16:19:27.213 に答える
-2

多分バグだと思います。

ファイルは、デフォルト プロジェクトのapplicationメイン ファイルとして扱われます。.css および .js で終わるものは、デフォルトでプリコンパイル リストに含まれます。

あなたが説明した動作 (.css 拡張子を持つマニフェスト) は正しいものです。

于 2011-09-12T06:50:49.317 に答える