Rails 3.1のアセットパイプラインを使用している場合、メディア固有の(つまり、プリント、スクリーンなど)CSSを呼び出す正しい/レール/ベストプラクティスは何ですか?私はこれが以前に尋ねられたことは知っていますが、私が見たソリューションのすべてが非常にハッキーに見えますが、私が期待しているエレガントなRailsソリューションではありません。Rails 3.1のアセットパイプラインでメディア固有のcssを呼び出す正しい方法
私の知る限り、提案されたアプローチは、次のようにスタイルシートフォルダを設定することです:application.cssの
assets
-stylesheets
--application.css
--application-print.css
--print
---custom-print.css
--screen
---custom-screen.css
内容は
/*
*= require_self
*= require_tree ./screen
*/
用途向けの内容であることprint.cssは
/*
*= require_self
*= require_tree ./print
*/
です。
<%= stylesheet_link_tag 'application', media = 'screen, projection' %>
<%= stylesheet_link_tag 'application-print', media = 'print' %>
OK、それでも良い。
しかし、私の場合は、custom-print.cssが画面に適用されており、印刷出力にCSSが適用されていません。
また、このアプローチはcssから呼び出された画像に影響するようです。つまり、アセット/イメージ内のイメージを探す代わりに、アセット/スタイルシート/スクリーン内のイメージを探しています。影響を受けるのはjavascriptのCSSだと思われるので、ここに何か他のものがあるかもしれません。もう少し調べて報告します。
私の質問は、Railsのアセットパイプラインでメディア固有のCSSをどう扱っているのですか?ベストプラクティスと見なされるものは何ですか?そして私は何が間違っているのですか?
ありがとうございました!
DOHと呼ばれるローカル変数に代入して、あなたのコードで
!ありがとうございました! –
'@media print {...}'(IE9 +)を使うこともできます。また、プロダクションのために 'config/production.rb'に' config.assets.precompile + =%w(application-print.css) 'を追加する必要があります(私がHerokuのためにしなければならなかったように)。 – manafire
@fullsailorこれはどこですか? 'application.html.erb'で? – mmcrae