2013-04-11 100 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