Ruby on rails 无法连接到mLab';带rails的MongoDB

Ruby on rails 无法连接到mLab';带rails的MongoDB,ruby-on-rails,mongodb,heroku,mongoid,mlab,Ruby On Rails,Mongodb,Heroku,Mongoid,Mlab,我正在使用Heroku和mLab 我将我的应用程序设置为使用MongoDB的mLab 它在Heroku和我的本地计算机上都不起作用 我可以使用命令行访问数据库: mongo "mongodb://usrname:pass@ds333238.mlab.com:33238/heroku_4blzdg47" 但是当我在config/mongoid.yml中使用rails时: production: sessions: default: uri: mongodb://usrna

我正在使用Heroku和mLab

我将我的应用程序设置为使用MongoDB的mLab

它在Heroku和我的本地计算机上都不起作用

我可以使用命令行访问数据库:

mongo "mongodb://usrname:pass@ds333238.mlab.com:33238/heroku_4blzdg47"
但是当我在
config/mongoid.yml
中使用rails时:

production:
  sessions:
    default:
      uri: mongodb://usrname:pass@ds333238.mlab.com:33238/heroku_4blzdg47
这将是错误:

  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.019052, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 0. Node is <Moped::Node resolved_address=nil> runtime: n/a
  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.038719, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 1. Node is <Moped::Node resolved_address=nil> runtime: n/a
  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.054449, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 2. Node is <Moped::Node resolved_address=nil> runtime: n/a
  Rendered homes/new.html.erb within layouts/application (368.6ms)
Completed 500 Internal Server Error in 385ms

ActionView::Template::Error (Could not connect to a primary node for replica set #<Moped::Cluster:70222534873720 @seeds=[<Moped::Node resolved_address=nil>]>)
有什么问题吗

我的部分珍品是:

ruby '2.3.7'
gem 'rails', '4.1.16'
gem "mongoid", '4.0.0'

在我将Mongoid更新到5.2版后,它运行良好。您使用的是一个不再受支持的古老版本的Mongoid。听起来这是一个新的应用程序;如果是这样的话,您应该使用Mongoid 7,MongoDB的当前Ruby驱动程序,等等。感谢您的建议:)我试图在不更新的情况下运行它,因为整个应用程序都是旧的。我需要花点时间来更新它。在我将Mongoid更新到5.2版之后,它工作得很好!
ruby '2.3.7'
gem 'rails', '4.1.16'
gem "mongoid", '4.0.0'