没有这样的mongoid配置文件问题

时间:2013-04-09 12:43:36

标签: ruby mongodb mongoid

我在目录中有一个minitest_helper.rb和mongoid.yml文件。我把下面的代码放在minitest_helper中;

require 'mongoid'
Mongoid.load!("mongoid.yml", :test)

虽然这些文件位于同一目录中,但是Mongoid无法加载yml文件而且我得到了“没有这样的文件”,如下所示:

/home/developer/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/config
/environment.rb:40:in `initialize': No such file or directory - mongoid.yml
(Errno::ENOENT)

此外,我不使用任何框架,如Rails,Sinatra等。 有什么问题?

1 个答案:

答案 0 :(得分:1)

正如您在documentation中看到的那样,#load!需要文件的完整路径。尝试将代码更改为以下内容:

Mongoid.load!(File.join('path_to_the_yml','starting_at_root_of_the_project', 'mongoid.yml') , :test)

构造File.join的方式取决于您的目录结构。如果我有这样的结构:

project_root
--lib
--spec
----fixtures
------test.xml  # the path for this file is project_root/spec/fixtures/test.xml

然后File.join将如下所示:

File.join('spec','fixtures', 'test.xml')