将rails应用程序迁移到3.1,无法让sass表现出色

时间:2011-08-22 05:19:35

标签: ruby-on-rails-3.1 sass

我正在将一个pre-Rails-3.1应用程序迁移到3.1(实际上,其他人做了部分尝试迁移到3.0的工作;我想继续将其提升到3.1)。

当我使用rails new创建新的Rails 3.1应用程序时,骨架应用程序似乎很好。

但是,当我在迁移的应用中运行rake testthin 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有:

config.assets.enabled = true
config.generators.stylesheet_engine = :sass

在某处需要更多吗?

...谢谢

4 个答案:

答案 0 :(得分:0)

请尝试在application.rb上再添加一个,因为rails 3.1使用 scss 作为默认值。

config.sass.preferred_syntax = :sass

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

答案 1 :(得分:0)

如果您愿意,也可以使用sass-convert命令切换到scss。我最初使用sass语法,但后来决定我更喜欢scss并切换到那个。

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

答案 2 :(得分:0)

好的,这是一个安装了太多版本的各种宝石的问题。真正的罪魁祸首是错误的倾斜版本,这是由其他一些宝石带来的。清除它并重置Gemfile.lock,就可以解决它了。

答案 3 :(得分:0)

我刚才遇到了同样的问题。我的解决方案是按照github issue中的描述更新倾斜宝石。显然,默认的mime类型方法是在倾斜1.3.0之后添加的。