我正在将一个pre-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
有:
config.assets.enabled = true
config.generators.stylesheet_engine = :sass
在某处需要更多吗?
...谢谢
答案 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之后添加的。