With Rails 3, after upgrading from Mongoid 2.x to Mongoid 3.x, my Heroku + MongoHQ setup stopped working. Funny thing is, that my development & test frameworks and my whole
You will need to use Ruby 1.9.3. See Mongoid documentation here and Heroku documentation here on how to use 1.9.3.
I was also getting similar errors, and I changed my gemfile to include ruby '1.9.3'
and everything worked as expected again.
Edit:
@herb pointed out that you need the latest version of bundler for this to work (gem install bundler --pre
). Otherwise, ruby '1.9.3'
in your Gemfile will not work.
As a workaround, hardcoding the uri from heroku config seems to do the trick.
ex:
production:
sessions:
default:
uri: "mongodb://heroku:xxxx@domain.mongohq.com:000/appyyyy"
options:
skip_version_check: true
safe: true
I'm guessing the nilclass error was because <%= ENV['MONGOHQ_URL'] %> was returning nil
Try adding an "options" area to the default session and add "skip_version_check: true" as one of the options.
Jason MongoHQ