0

我有一个使用 rails 4、最新版本的 mongodb 和 mongoid 设置的 vagrant box。一旦 vagrant box 启动mongo,我可以使用 mongodb 访问 mongodb 和任何现有数据库。问题似乎是我的 rails 代码没有写入 mongodb。有没有其他人经历过这个?是否存在我没​​有看到的配置问题?我应该运行哪些测试才能得到一些错误来帮助调试这个问题?

谢谢!

编辑:好的,重新启动网络服务器后,它现在似乎可以工作了。或者至少我可以尝试通过 rails 控制台查询 mongodb。随着我继续测试更多,我会更新。

编辑2:所以在rails沙盒控制台中,我可以尝试使用User.all查看用户集合,但User.first给我一个错误,如下所示。

Mongoid::Errors::NoSessionConfig:
Problem:
  No configuration could be found for a session named 'default'.
Summary:
  When attempting to create the new session, Mongoid could not find a session configuration for the name: 'default'. This is necessary in order to know the host, port, and options needed to connect.
Resolution:
  Double check your mongoid.yml to make sure under the sessions key that a configuration exists for 'default'. If you have set the configuration programatically, ensure that 'default' exists in the configuration hash.

按照解决方案的建议,我快速检查了下的 mongoid.yml config/mongoid.yml,我看到它是这样列出的

development:
  sessions:
    default:
      database: mongoid
      hosts:
        - localhost:21017
      options:
  options:
test:
  sessions:
    default:
      database: mongoid
      hosts:
        - localhost:21017
      options:
        consistency: :strong
        max_retries: 1
        retry_interval: 0

编辑 3:看起来这个问题只发生在我尝试在沙盒模式下运行 rails 控制台时。它在普通的 rails 控制台中运行良好。无论如何让它在沙盒控制台中工作?

编辑4:拼写

任何见解都会非常有帮助。谢谢!

4

1 回答 1

0

配置文件有错别字。第三行:

defualt:

应该:

default:
于 2013-11-14T01:11:12.587 回答