我在本地安装了MongoDB,并在尝试使用Mongoid/Moped on Rails 4/Ruby 1.9.3/Windows 7时遇到此错误:
"Could not connect to a primary node for replica set #<Moped::Cluster:27191916 @seeds=[<Moped::Node resolved_address=nil>]>"
可能是由 resolved_address=nil 引起的 - 其他论坛表示这是来自主机文件中的拼写错误 - 知道该文件在 Windows 上的位置吗?
应用程序仅包含一个简单的模型"文章"
class Article
include Mongoid::Document
field :name, type: String
field :content, type: String
end
异常在Articles.all.each.do |article|
捕获...
运行 mongod 和 mongo shell 在应用程序之外工作正常 - 所以我假设这是配置的东西......My Rails 服务器日志吐出以下内容:
Started GET "/articles" for 127.0.0.1 at 2014-01-14 19:04:18 -0800
Processing by ArticlesController#index as HTML
MOPED: Could not resolve IP for: localhost:27017 runtime: n/a
MOPED: Retrying connection attempt 1 more time(s). runtime: n/a
MOPED: Could not resolve IP for: localhost:27017 runtime: n/a
Rendered articles/index.html.erb within layouts/application (10294.6ms)
Completed 500 Internal Server Error in 10325ms
据我所知,我没有对副本集做任何事情。
Rails.env 是development
,我的配置文件 (mongoid.yml) 是:
development:
sessions:
default:
database: mid_dev
hosts:
- localhost:27017
options:
options:
Mongoid 可能还没有正式为 Rails 4 做好准备 - 但有人有幸跨越这个障碍吗?
查看主机文件中的本地主机映射或尝试一下:
development:
sessions:
default:
database: mid_dev
hosts:
- 0.0.0.0:27017
有关主机文件的信息:http://en.wikipedia.org/wiki/Hosts_(文件)