2012-09-27 37 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中的单个属性上崩溃而引起的。所以我不得不将这些属性分开并运行。 –