我正在使用Rails 3.1构建我的第一个solo Rails应用程序.rc5.我的问题是,我想让我的网站有条件地呈现各种CSS文件.我使用的是Blueprint CSS,我试图让Sprocket/rails在大多数情况下渲染screen.css
,只有打印时渲染print.css
,只有从Internet Explorer访问站点时渲染ie.css
.
不幸的是,application.css
list 中默认的*= require_tree
命令包含assets/stylesheets
目录中的所有内容,并导致令人不快的CSS混乱.我目前的解决方法是一种蛮力方法,其中我单独指定了所有内容:
正在申请中.css:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
在我的样式表Partial(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"
这个不错,但是不是特别漂亮.我做了几个小时的搜索才走到了这一步,但我希望有一些我刚刚错过的更容易的方法来做这件事.如果我甚至可以有 Select 地呈现某些目录(不包括子目录),那么整个过程就不那么僵化了.
谢谢!