Ruby on rails 获取未定义的方法“[]';for nil:NilClass,当我尝试将我的MongoLab数据库与Mongoid和ROR一起使用时

Ruby on rails 获取未定义的方法“[]';for nil:NilClass,当我尝试将我的MongoLab数据库与Mongoid和ROR一起使用时,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我在Heroku上有一个Rails应用程序,应该连接到MongoLab数据库。我的问题是任何试图以任何方式访问数据库的命令都会导致 nil:NilClass的未定义方法“[]” 这包括对数据库进行种子设定。我的mongoid.yml如下 production: sessions: default: uri: <%= ENV['MONGOLAB_URI'] %> development: sessions: default: datab

我在Heroku上有一个Rails应用程序,应该连接到MongoLab数据库。我的问题是任何试图以任何方式访问数据库的命令都会导致

nil:NilClass的未定义方法“[]”

这包括对数据库进行种子设定。我的mongoid.yml如下

production:
  sessions:
    default:
      uri: <%= ENV['MONGOLAB_URI'] %>

development:
  sessions:
    default:
      database: dev_database
      hosts:
        - localhost:27017
生产:
会议:
违约:
uri:
发展:
会议:
违约:
数据库:dev_数据库
主持人:
-本地主机:27017
这个mongoid.yml对于我使用相同版本的mongoid(3.0.1)的另一个ROR应用程序来说运行良好,因此我不确定它为什么会给我带来问题。蒙古包URI是在环境中定义的。我很确定问题一定是数据库连接的问题,但我不确定是什么问题。有没有办法解决这个问题

编辑:

我只是试了一下也没用

production:
  sessions:
    default:
      uri: <%= ENV['MONGOLAB_URI'] %>
      options:
        skip_version_check: true
        safe: true
生产:
会议:
违约:
uri:
选项:
跳过版本检查:真
安全:对

我忘记了Heroku默认为ruby 1.9.2,添加了

ruby“1.9.3”

我的gem文件修复了它