gpt4 book ai didi

ruby - 在没有 .load() 的情况下初始化 Mongoid

转载 作者:可可西里 更新时间:2023-11-01 09:59:01 25 4
gpt4 key购买 nike

我的 Sinatra 应用程序中有以下行:

Mongoid.load!('./config/database/mongoid.yml')

这很好,但我不想将我的连接详细信息保存在 YAML 文件中,并将其添加到 .gitignore .我想将它们保留在 ENV 中.

我过去可以通过添加像 username: <%= ENV['MONGODB_USER'] %> 这样的东西来绕过这个问题到 YAML 配置文件,然后将其作为 ERB 读取,保存并使用 Mongoid.load! 再次读取它在 Heroku 删除磁盘之前。不用说,这非常疯狂。

我能找到的就是 .load! 的定义over here而且看起来没有任何解决办法。

是否有一些隐藏的方式以编程方式配置 Mongoid连接?

提前致谢。

最佳答案

基于 mu's answer :

你可以像这样给 Mongoid 一个散列用于初始化:

Mongoid.load_configuration(clients: {
default: {
database: database,
hosts: [ host ]
}
})

请注意,您传递给 load_configuration 的散列不应像通常在 mongoid.yml 中那样以环境 key 开头。

关于ruby - 在没有 .load() 的情况下初始化 Mongoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31729945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com