2012-02-15 103 views
1

我在Rails 3.2.1中使用资产管道在Rails 3.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

你只需要定义2号线在你的脑袋:

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

而在你application.css你只有公共部分。

+0

知道,但我想只有1个文件;-) – jlecour 2012-02-16 11:53:42

+0

我认为你需要在你的应用程序/资产/样式做了很多application_#{@user.css_theme的}要求所有你想要的 – shingara 2012-02-16 12:02:58

+0

是的,这是我做了什么,但我并不感到高兴,因为许多非显而易见的原因(而不是简单的解释)。 – jlecour 2012-02-16 12:28:06