加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails:yml merge

发布时间:2020-12-17 03:00:05 所属栏目:百科 来源:网络整理
导读:假设我的rails配置有一个yml文件… settings.yml中 defaults: defaults interceptor_email: robot@wearemanalive.comdevelopment: : *defaultstest: : *defaultsproduction: : *defaults 我希望有另一个yml文件,它不包含在版本控制中,每个开发人员都在本地维
假设我的rails配置有一个yml文件…

settings.yml中

defaults: &defaults
  interceptor_email: robot@wearemanalive.com

development:
  <<: *defaults

test:
  <<: *defaults

production:
  <<: *defaults

我希望有另一个yml文件,它不包含在版本控制中,每个开发人员都在本地维护…

user_settings.yml

development:
  interceptor_email: userfoo@domain.com

如何合并这些密钥?我正在用esb处理我的yml文件,所以这也是一个选项.只是无法弄清楚如何做到这一点.我有它设置所以如果我的环境缺少一个键,键会回退到默认值.

解决方法

你不能分别阅读两个yml文件吗?

settings = YAML.load(path_to_settings)[RAILS_ENV].symbolize_keys
user_settings = YAML.load(path_to_user_settings)[RAILS_ENV].symbolize_keys
settings.merge!(user_settings)

现在您应该拥有设置的哈希值,然后您可以根据需要合并哈希值.如果第二个哈希与第一个哈希具有相同的密钥,则第一个哈希将被覆盖.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读