2012-02-15 47 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