在Rails 3.1资产管道中自定义已编译的文件名

时间:2012-02-15 10:36:47

标签: ruby-on-rails asset-pipeline sprockets

我正在使用Rails 3.2.1中的资产管道

我的应用可以根据用户偏好设置不同的CSS主题。但90%的样式表是相同的。

我想将我的所有CSS编译在一个文件中,但结果文件名取决于用户名。

在Rails 2.x中,我可以这样做:

<%= stylesheet_link_tag 'main.css', "themes/#{@user.css_theme}.css", :cache => @user.name %>

并且文件将具有正确的文件名。

现在,使用Rails 3.1+我可以使用ERB自定义所需的样式表,但是如果我在我的布局中设置它:

<%= stylesheet_link_tag "application" %>

编译后的文件名为application.css,我找不到设置自定义名称的方法。

1 个答案:

答案 0 :(得分:1)

你只需要在头脑中定义2行:

<%= stylesheet_link_tag "application" %>
<%= stylesheet_link_tag "themes/#{@user.css_theme}.css" %>

在你的application.css中,你只有共同的部分。