2013-04-11 73 views
0

我在Ubuntu在/ opt目录中的文件test.yaml中,我有我的数据库设置和我得到的environment.rb该文件作为mongoid所示类实例在YAML文件

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 

现在。 YML文件我想使用该类如图代码

development: 
sessions: 
    default: 
    hosts: 
    -Settings.sessions["default"]["hosts"] 
    username: ve 
    password: "123456" 
    database: weather 

但这样 助力车::错误得到错误:: ConnectionFailure(无法连接到用于副本集]>任何二级或主节点):

我是一个新人,并卡在那里。任何帮助将不胜感激。 感谢

回答

0

理论:

他们关键是要删除的文件mongod.lock并重新启动MongoDB的服务。 Ubuntu中的锁定文件位于/var/lib/mongod.lock

详情:

我得到在Ubuntu下同样的错误,这就是我所做的:

流浪汉@ lucid32:〜$ sudo的服务MongoDB的重新启动
重启:未知的情况下:

流浪汉@ lucid32:〜$ sudo的RM /var/lib/mongod.lock

流浪汉@ lucid32:〜$ sudo的服务MongoDB的启动
MongoDB的开始/运行,处理2340

流浪汉@ lucid32:〜$ sudo的服务MongoDB的重新启动
MongoDB的开始/运行,处理2368