2011-04-19 48 views
1

我正在使用GEM css_views生成動態CSS。 創業板可以在這裏找到:https://github.com/rhulse/rails-css-viewsRails:獲取「gem css_views」爲動態CSS工作

我試圖按照自述,但刪除緩存/縮小的東西。但是,我不明白我應該給「packaged_stylesheet_path」和「css_configuration」指定什麼參數。

這裏是我的代碼:

# app/controllers/style_controllers.rb 
require 'css_views' 

class StylesheetsController < ApplicationController 
    include CssViews::ControllerMixins 
    before_filter :set_vars 

    css_configuration 'application', :components => ['user_css'] 

    private 

    def set_vars 
    @corp_black = '#310C04' 
    end 
end 

-

#routes.rb 
match '/stylesheets/:configuration_name(.:format)' => "stylesheets#show", :as=>:packaged_stylesheet 

-

#app/views/layouts/application.html.erb 
<head> 
    <%= packaged_stylesheet_path('user_css', :css) %> 
</head> 

什麼即時試圖做的是使用視圖/樣式表/ user_css.css.erb與變量。

感謝您的任何提示:)

回答

0

感謝您對vooD服用一段時間對我的幫助!

但是,我很幸運,因爲我通過電子郵件發送了css_views GEM的創建者,令人驚訝的是,我確實得到了一個相當快的答案。他非常好! 我會與你分享,因爲它回答我的問題(說它不會提供我的問題的解決方案)。

在應用程序佈局,你這樣做:

production_stylesheet_path('application', '2011033101', :css) 

的第一個參數是你想要的文件的名稱是什麼,二是清除緩存一個字符串,最後是文件類型。以上將生成:

/stylesheets/application-2011033101.css 

'application'是哪個css_configuration使用的。所以,上面的人使用這一個從我的樣式表控制:

css_configuration "application", :components=>['global', 'application', 'recipes', 'print'],:transformers=>[Transformer.new] 

的成分是指在/視圖/樣式表文件夾中的文件的名稱和順序編譯它們在

在發展它「會動態提供了這些文件,但在生產中會寫出一個文件分割成/public/stylesheets/application-2011033101.css

這意味着,你可以在css.erb文件變量,但你不能改變他們在每個請求的基礎上。

如果您更新CSS erb文件中的任何內容,您必須對該編號進行修改,否則可能不會出現更改,尤其是如果您爲CSS上的標頭設置了遠期日期。

Gem已經被Rails 3.1中的東西超越 - 他們正在整合SASS - 但如果你想要一個更輕的解決方案,就是這樣!

我希望一切都有意義 - 讓我知道你是否還有其他問題!

乾杯,

理查德

0

展望源代碼,我看到,你只需要傳遞一個空數組作爲:transformers參數

css_configuration 'application', :components => ['user_css'], :transformers => []