我在Ubuntu的/opt目录中有一个test.yaml文件,其中有我的db设置,我在environment.rb中获得了该文件,如下所示
require File.expand_path('../application', __FILE__)
class Settings
raw_config = File.read("/opt/test.yml")
erb_config = ERB.new(raw_config).result
settings = YAML.load(erb_config)[::Rails.env]
if settings
settings.each do |name, value|
puts "checking array" , name, value
instance_variable_set("@#{name}", value)
self.class.class_eval { attr_reader name.intern }
end
end
end现在,在mongoid.yml文件中,我想使用该类,如代码所示
development:
sessions:
default:
hosts:
-Settings.sessions["default"]["hosts"]
username: ve
password: "123456"
database: weather但得到如下错误: Moped::Errors::ConnectionFailure (无法连接到副本集的任何辅助或主节点]>):
我是一个新人,卡住there.Any的帮助将非常感谢。谢谢
发布于 2013-05-20 17:30:58
理论:
关键是删除mongod.lock文件,重新启动mongodb服务。Ubuntu中的锁文件位于/var/lib/mongod.lock。
详情:
我在Ubuntu下也遇到了同样的错误,我是这样做的:
vagrant@lucid32:~$ sudo服务mongodb重启
重新启动:未知实例:
vagrant@lucid32:~$ sudo rm /var/lib/mongod.lock
vagrant@lucid32:~$ sudo服务mongodb启动
mongodb启动/运行,进程2340
vagrant@lucid32:~$ sudo服务mongodb重启
mongodb启动/运行,进程2368
https://stackoverflow.com/questions/15950667
复制相似问题