Ruby on rails 3.1 将rails应用程序迁移到3.1版本,无法让sass正常工作

Ruby on rails 3.1 将rails应用程序迁移到3.1版本,无法让sass正常工作,ruby-on-rails-3.1,sass,Ruby On Rails 3.1,Sass,我正在将一个前Rails-3.1版本的应用程序迁移到3.1版本实际上,有人做了尝试迁移到3.0版本的部分工作;我想现在就把它升级到3.1 当我用Rails new创建一个新的Rails 3.1应用程序时,框架应用程序似乎很好 但是,当我在迁移的应用程序中运行rake test或thin start时,我得到: /Users/dwhsix/.rvm/gems/ruby-1.9.2-p290@zmy/gems/sass-rails-3.1.0.rc.6/lib/sass/rails/template

我正在将一个前Rails-3.1版本的应用程序迁移到3.1版本实际上,有人做了尝试迁移到3.0版本的部分工作;我想现在就把它升级到3.1

当我用Rails new创建一个新的Rails 3.1应用程序时,框架应用程序似乎很好

但是,当我在迁移的应用程序中运行rake test或thin start时,我得到:

/Users/dwhsix/.rvm/gems/ruby-1.9.2-p290@zmy/gems/sass-rails-3.1.0.rc.6/lib/sass/rails/template_handlers.rb:32:in `<class:SassTemplate>': undefined method `default_mime_type=' for Sass::Rails::SassTemplate:Class (NoMethodError)
还有其他地方需要吗


谢谢…

可能会,请尝试在application.rb添加一个,因为rails 3.1默认使用SCS

config.sass.preferred_syntax = :sass

在initializers/mime_types.rb中有一些与mime相关的设置,因此您也可以尝试使用这些设置。

如果需要,您还可以使用sass convert命令切换到scss。我最初使用的是sass语法,但后来我决定更喜欢SCS,于是改用了它

sass-convert -F sass -T scss mystyle.sass mystyle.scss

好吧,这就是安装了太多版本的各种gems的问题。真正的罪魁祸首是tilt的错误版本,它是由其他一些gem引入的。清除并重置Gemfile.lock就解决了这个问题。

我刚才也遇到了同样的问题。我的解决方案是按照本文所述更新tilt gem。显然,默认的mime类型方法是在tilt 1.3.0之后添加的

sass-convert -F sass -T scss mystyle.sass mystyle.scss