2015-12-02 50 views
1

最近我一直在学习Ruby on Rails,并将Heroku作为免费的生产环境进行学习。我到了我想要将MongoDB添加到我的设置中。我选择了Mongoid 5(现在的最新版本)和MongoLab - 它提供了Heroku的免费计划。在Mongoid 5中使用Heroku MongoLab 5

我被难住了配置mongoid.yml因为大部分我计算器上找到的答案是过时的 - 谈论版本4,3,甚至2

所以之后我发现一个可行的解决方案,我决定后它在这里主要是作为记录它的一种方式。如果你有更好的方法来配置mongoid.yml来与Heroku上的MongoLab一起工作,那么它将会更受欢迎。

谢谢。

回答

0

在寻找这个答案时,我发现了旧版本的Mongoid解决方案或与MongoHQ(另一个Heroku mongoDB托管解决方案)一起工作的解决方案。

我结束了使用this answer,演示了如何使用MongoidHQ处理MongoHQ。我调整它与Mongoid 5和MongoLab一起工作,并最终得到以下结果:

<% if ENV['MONGOLAB_URI'] %> 
    <% uri = URI.parse(ENV['MONGOLAB_URI']) %> 
production: 
    clients: 
    default: 
     database: <%= uri.path.sub('/','') %> 
     hosts: 
     - <%= uri.host %>:<%= uri.port %> 
     options: 
     user: <%= uri.user %> 
     password: <%= uri.password %> 
<% end %> 

希望可以帮助你。