开发者

Migrating a rails app up to 3.1, having trouble getting sass to behave

I'm migrating a pre-Rails-3.1 app up to 3.1 (actually, someone else did part of the work of attempting to migrate to 3.0; I'd like to go ahead and get it up to 3.1 now).

Wh开发者_开发知识库en I create a new Rails 3.1 app with rails new, the skeleton app seems fine.

When I run rake test or thin start in the migrated app, though, I get:

/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)

I think I have things configured correctly. Gems are correct, application.rb has:

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

Is there more that is needed somewhere?

Thanks...


May be please try adding one more at application.rb, since rails 3.1 use scss as default.

config.sass.preferred_syntax = :sass

and there is some mime related settings at initializers/mime_types.rb, so you may try to play with that too.


You could also switch to scss if you wanted to, by using the sass-convert command. I originally used sass syntax, but later decided I liked scss better and switched to that.

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


Okay, this turned out to be a problem of having too many versions of various gems installed. The real culprit was the wrong version of tilt, which was being brought in by some other gem. Clearing that, and resetting Gemfile.lock, took care of it.


I had the same problem just now. My solution was to update the tilt gem as described in this github issue. Apparently, the default mime type method, is added after tilt 1.3.0.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜