如何使RASS 3.1使用SASS(Over SCSS)作为默认值?

kra*_*ene 59 ruby ruby-on-rails sass ruby-on-rails-3.1

很难确定如何制作SASS而不是SCSS作为样式表的默认值.

我试过sass_config.rb用这个制作一个文件:

Sass::Plugin.options[:syntax] = :sass
Sass::Plugin.options[:style] = :compressed
Run Code Online (Sandbox Code Playgroud)

我也尝试将它添加到environment.rb文件中.无论哪种方式我都会收到此错误:

.../config/environment.rb:7:in `<top (required)>': 
  uninitialized constant Sass::Plugin (NameError)
Run Code Online (Sandbox Code Playgroud)

Kev*_*vin 74

对于rails 3.1.rc4,您可以设置配置:

config.sass.preferred_syntax = :sass
Run Code Online (Sandbox Code Playgroud)

application.rb文件中

  • 如果这样做,它将不会在生产中部署b/c sass和:资产组对于生产环境不活动.您将获得一个未被部署脚本抛出的sass方法.就个人而言,我最终不得不通过更改我的Gemfile来解决这个问题,注释掉"group:assets"部分,以便为所有配置加载sass-rails,coffee-rails,uglifier gems,而不仅仅是作为资产的一部分小组,像这样:#group:assets do gem'sass-rails',"〜> 3.1.0"gem'coffee-rails',"〜> 3.1.0"gem'uglifier'#end (7认同)
  • 难道你不能在推动生产之前"掏钱资产:预编译"吗? (4认同)

rem*_*ino 8

我添加了以下内容config/environments/development.rb:

config.sass.preferred_syntax = :sass
Run Code Online (Sandbox Code Playgroud)

这就是诀窍.


ace*_*des 7

这样做require 'sass/plugin',并确保它在你的后下方Application.initialize!电话.

  • 好的,真正的解决方案是在你的`application.rb`文件中有这个:`config.generators.stylesheet_engine =:sass` (8认同)
  • 虽然这解决了抛出错误的问题,但我仍然无法设置'style'选项以便它继续生成样式表 - 问题中的样式行在3.0.7中为我工作,但不是现在在3.1.有任何想法吗? (2认同)