rails/rails — Issue #5022: Rails 3.2 exception recommends rails_legacy_mapper, which isn't compatible with Rails 3.2
Author: johndouthat
Created: 2012-02-12 23:57:39+00:00
State: open

I'm upgrading an app from Rails 2.3 to 3.2 and I encountered this error message:

> You are using the old router DSL which has been removed in Rails 3.1. Please check how to update your routes file at: http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/ or add the rails_legacy_mapper gem to your Gemfile

[The error message is defined here](https://github.com/rails/rails/blob/815e445331/actionpack/lib/action_dispatch/routing/route_set.rb#L255)

However, that gem requires Rails 3.1 [according to its gemspec](https://github.com/pixeltrix/rails_legacy_mapper/blob/416cd8bd5d/rails_legacy_mapper.gemspec#L51)

Someone [forked the repo and updated the gemspec](https://github.com/tomwaddington/rails_legacy_mapper/commit/1a2183189567e7eea40f4a09a4290a46d7518344), but I installed that version and got the following error message instead:

/Users/john/.bundler/ruby/1.9.1/rails_legacy_mapper-1a2183189567/lib/rails_legacy_mapper/mapper.rb:78:in `connect': uninitialized constant Rack::Mount (NameError)
from /Users/john/.bundler/ruby/1.9.1/rails_legacy_mapper-1a2183189567/lib/rails_legacy_mapper/mapper.rb:157:in `named_route'
from /Users/john/.bundler/ruby/1.9.1/rails_legacy_mapper-1a2183189567/lib/rails_legacy_mapper/mapper.rb:170:in `method_missing'
from /path_to_my_app/config/routes.rb:4:in `block in '