Rails 3.1.rc5 を使用して、最初のソロ Rails アプリを作成中です。私の問題は、自分のサイトにさまざまな CSS ファイルを条件付きでレンダリングさせたいということです。screen.css
ブループリント CSS を使用しており、ほとんどのprint.css
場合、印刷時のみ、およびie.css
Internet Explorer からサイトにアクセスするときのみ、スプロケット/レールをレンダリングしようとしています。
残念ながら、マニフェストのデフォルト*= require_tree
コマンドにはディレクトリ内のすべてが含まれるため、不快な CSS のごちゃごちゃが発生します。私の現在の回避策は、すべてを個別に指定する一種のブルートフォース方式です。application.css
assets/stylesheets
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"
これは機能しますが、特にきれいではありません。ここまで到達するために数時間検索しましたが、見逃した簡単な方法があることを願っています. 特定のディレクトリを(サブディレクトリを含めずに)選択的にレンダリングすることさえできれば、プロセス全体の柔軟性が大幅に低下します。
ありがとう!