2012-09-27 38 views
0

我正嘗試從SASS文件創建一個CSS文件。使用SASS gem將SASS轉換爲CSS

我一開始嘗試這樣做。

sass_filename = "#{Rails.root}/app/assets/stylesheets/application.sass" 
css = Sass::Engine.for_file(sass_filename).render 
File.open("#{render_path}/stylesheets/application.css", "wb") {|f| f.write(css) } 

我對Sass::Engine.for_file()因爲I didn't put anything for options field遇到錯誤wrong number of arguments (1 for 2)

我不知道如何設置選項字段。

我試圖

css = Sass::Engine.for_file(sass_filename, :syntax => :sass).render

,但我得到了undefined method []」爲無:NilClass`錯誤。

如何設置將SASS轉換爲CSS的默認選項?

回答

0

如果您未通過任何選項,請嘗試使用空的散列,例如'{}',對於選項:

sass_filename = "#{Rails.root}/app/assets/stylesheets/application.sass" 
css = Sass::Engine.for_file(sass_filename, {}).render 
File.open("#{render_path}/stylesheets/application.css", "wb") {|f| f.write(css) } 
+0

得到了同樣的錯誤。 'PublishController中的NoMethodError#index 未定義的方法'[]'爲零:NilClass' –

+0

您正在使用哪個版本的sass? > = 3.1.15? – barce

+0

不,使用3.2.1。但事實證明,問題是由於'背景顏色','background-image'和'background-repeat'等背景屬性在Sass中的單個屬性上崩潰而引起的。所以我不得不將這些屬性分開並運行。 –