我正在EC2上运行rails应用程序,我正在使用mongoHQ作为DBMS。我在mongoid.yml中指定了以下值
defaults: &defaults
host: staff.mongohq.com
port: 10082
username: CodeMaster123
password: 00000000
development:
<<: *defaults
database: app-development
test:
<<: *defaults
database: app-box-test
但是当我执行rails s
时,它会抛出错误
/home/ubuntu/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.4.0/lib/mongo/connection.rb:
526:in `connect': Failed to connect to a master node at localhost:27017(Mongo::ConnectionFailure)
有没有办法检查mongoid是否在阅读mongoid.yml?
编辑:
如果我使用错误的端口号,则显示错误
Failed to connect to a master node at spd.mongohq.com:10092 (Mongo::ConnectionFailure)
这意味着它忽略了mongoid.yml中指定的连接选项并连接到localhost:27017。为什么会这样?
答案 0 :(得分:1)
您能否尝试编写开发中的完整选项:在yaml文件中而不是使用指针?我相信这个部门存在漏洞。
答案 1 :(得分:1)
Mongoid似乎不支持在当前的公共版本(2.3.4)中正确加载YAML。您可以查看此提交以获取更多详细信息: Refactor options and env into their own modules
将以下内容放入您的Gemfile中,以便从最近的提交中获益(对我来说,在Sinatra下):
gem 'mongoid', :git => "https://github.com/mongoid/mongoid.git"
答案 2 :(得分:0)
有两个文件指定了DBMS详细信息,我编辑了它们,我的应用程序运行正常。