Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 尝试从Heroku连接到MongoHQ时,Padrino中出现Mongoid错误_Mongodb_Heroku_Mongoid_Padrino_Mongohq - Fatal编程技术网

Mongodb 尝试从Heroku连接到MongoHQ时,Padrino中出现Mongoid错误

Mongodb 尝试从Heroku连接到MongoHQ时,Padrino中出现Mongoid错误,mongodb,heroku,mongoid,padrino,mongohq,Mongodb,Heroku,Mongoid,Padrino,Mongohq,我一直得到一个Mongoid::Errors::InvalidDatabase-数据库应该是Mongo::DB,而不是NilClass 来自padrino应用程序,我在本地开发,但拒绝连接到MongoHQ。我使用了padrino 0.9.23和Mongoid 2.0.0。我不知道这里出了什么问题 #database.rb require 'uri' if ENV["MONGOHQ_URL"] mongo_uri = URI.parse(ENV["MONGOHQ_URL"]) EN

我一直得到一个Mongoid::Errors::InvalidDatabase-数据库应该是Mongo::DB,而不是NilClass

来自padrino应用程序,我在本地开发,但拒绝连接到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任务(用于测试db连接性)和 尝试从heroku中的db中提取的应用程序不断失败 错误:

我可以确认MongoHQ上的数据库已经启动并运行,我已经 通过MongoHQ远程连接,通过heroku config提供的详细信息——long details,通过web界面创建了一个文档

在这一点上被难住了,问题出在哪里了

有人知道我做错了什么吗 在这里从2.0.0开始,mongoid中的各种配置选项是否已更改? 我应该提到这是我第一次尝试使用MongoHQ 蒙哥德

在这一点上,我将要下注,启动一个AmazonEC2实例,然后 只需使用本地主机MongoDB,但最终在heroku和MongoHQ上运行它会更有意义

谢谢你的帮助,
Daryl.

将mongoid与padrino一起使用时,您是否未设置mongoid.yml文件?我只是对那个文件有点困惑,因为如果它找到ENV变量,它会设置更多的ENV变量,如果没有,它会设置局部变量。。。我只是从来没有看到在任何地方使用过这些。对于padrino和mongoid,有一个database.rb fiel,它反映了在else之后的第二个块。没有mongoid.yml文件。我想你可能已经找到了。嗯。。。意外删除了文件中的关键行以创建Mongoid.contection。马上回来。。。如果真是这样的话,我就要挨打了=
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'