Rails 3.1.rc5を使用して最初のソロRailsアプリを作成しているところです。私の問題は、サイトにさまざまなCSSファイルを条件付きでレンダリングさせたいことです。私はBlueprint CSSを使用しており、screen.css
ほとんどのprint.css
場合、印刷時とie.css
Internet Explorerからサイトにアクセスするときのみ、スプロケット/レールをレンダリングしようとしています。
残念ながら、マニフェストのデフォルトの*= require_tree
コマンドにはapplication.css
、assets/stylesheets
ディレクトリ内のすべてが含まれているため、CSSが不快になってしまいます。私の現在の回避策は、すべてを個別に指定する一種のブルートフォースメソッドです。
application.css:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
私のスタイルシートの部分(haml)では:
<!--[if lt IE 9]
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
![endif]-->
= stylesheet_link_tag "application"
= stylesheet_link_tag 'blueprint/print', media: 'print'
<!--[if lt IE8]]
= stylesheet_link_tag 'blueprint/ie'
![endif]-->
= javascript_include_tag "application"
これは機能しますが、特にきれいではありません。私はこれまでに数時間の検索を行ってきましたが、見逃した簡単な方法があることを願っています。特定のディレクトリを(サブディレクトリを含めずに)選択的にレンダリングすることさえできれば、プロセス全体の柔軟性が大幅に低下します。
ありがとう!