3

最近、Rails 3.2 アプリに CSS ファイルを追加しましたが、アセット パイプラインに苦労しています。現在、それは言うActionView::Template::Error (pdf.css isn't precompiled)

ファイルに を追加しました= require pdfapp/assets/stylesheets/application.css

他に何が必要ですか?

に追加pdf.cssする必要がありconfig.assets.precompileますか?

もしそうなら、なぜですか?require大事にしなくていいの?

私のapplication.css

/*
*= require_self
*= require chosen
*= require pdf
*= require_tree ./screen
*/
4

4 に答える 4

3

HTML テンプレートのどこかに明示的に pdf.css を要求していますか?

アセット パイプラインの公式ガイドで説明されているように、(マニフェスト ファイルの外側の) html で明示的に必要なすべてのファイルは、それらを に追加してコンパイルする必要がありますconfig.assets.precompile

于 2012-12-21T09:11:02.473 に答える
0

pdf.cssファイルにエラー(タイプミス)がある可能性があります。欠落しているセミコロンまたは角かっこがないかどうかを確認します。

于 2012-12-18T18:55:02.257 に答える
0

あなたの application.css に書いてみてください(ところで、それは application.css.scss であるはずではありませんか?):

*= require_tree .

これにより、すべてのスタイルシートがコンパイルされます。

多分あなたも試すことができます:

rake assets:precompile

コンパイル済みのスタイルシートが public フォルダーに生成されます (私が正しければ...)。その後、ファイルがプロセスに含まれているかどうかを知ることができます。(開発中にコンパイル済みのスタイルシートを削除することを忘れないでください。そうしないと、ブラウザーは常にこのスタイルシートをロードし、その後に行った変更は一切読み込まれません)

于 2012-12-18T16:49:50.187 に答える
-1

pdf.cssに追加する必要がありconfig.assets.precompileますconfig/environments/production.rb

これは、Rails がすべてのスタイルを 1 か所にまとめたいと想定しているためです。

これにより、プリコンパイル時のスペースも節約されます。

例: 以下のファイル:

  • pdf.css
  • screen.css
  • print.css

その後、すべてが にコンパイルされapplication.cssます。

于 2012-12-19T01:20:34.037 に答える