Я продолжаю получать Mongoid :: Errors :: InvalidDatabase - База данных должна быть Mongo :: DB, а не NilClass
из приложения padrino, над которым я работал на dev локально, но которое отказывается подключатьсяв MongoHQ.Я использую padrino 0.9.23 и Mongoid 2.0.0.Ошеломлен тем, что здесь идет не так.
#database.rb
require 'uri'
if ENV["MONGOHQ_URL"]
mongo_uri = URI.parse(ENV["MONGOHQ_URL"])
ENV['MONGOID_HOST'] = mongo_uri.host
ENV['MONGOID_PORT'] = mongo_uri.port.to_s
ENV["MONGOID_USERNAME"] = mongo_uri.user
ENV['MONGOID_PASSWORD'] = mongo_uri.password
ENV['MONGOID_DATABASE'] = mongo_uri.path.gsub("/", "")
else
host = 'localhost'
port = Mongo::Connection::DEFAULT_PORT
database_name = case Padrino.env
when :development then 'tweetup_dev'
when :production then 'tweetup'
when :test then 'tweetup_test'
end
end
Обе операции вставки через задачу rake (для проверки подключения к БД) и приложение, пытающееся извлечь из БД в heroku, постоянно терпят неудачу с этой ошибкой:
2011-04-09T08:02:29+00:00 app[web.1]: Mongoid::Errors::InvalidDatabase
- Database should be a Mongo::DB, not NilClass.:
2011-04-09T08:02:29+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/
gems/mongoid-2.0.0/lib/mongoid/config.rb:195:in `master'
2011-04-09T08:02:29+00:00 app[web.1]: (eval):2:in `master'
Я могу подтвердить, что база данных работает и работает в MongoHQ, и я создал в ней документ через веб-интерфейс через удаленное соединение MongoHQ через предоставленные данные из конфигурации heroku - длинные данные.
В этот момент озадачен тем, в чем проблема.
У кого-нибудь есть какие-либо подсказки или указания относительно того, что я могу делать здесь неправильно?Изменились ли различные опции конфигурации в mongoid с 2.0.0?Я должен упомянуть, что это первый раз, когда я пытался использовать MongoHQ с Mongoid.
В этот момент я собираюсь разбить, раскрутить экземпляр Amazon EC2 и просто использовать локальный хост MongoDB, но в конечном итоге работающийэто на героку и с MongoHQ имеет гораздо больше смысла.
спасибо за любую помощь, Дэрил.