首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何动态访问.yml值

如何动态访问.yml值
EN

Stack Overflow用户
提问于 2018-02-10 05:05:24
回答 1查看 545关注 0票数 0

我在rv.yml文件中有以下内容:

代码语言:javascript
运行
复制
:server1:
   :abc: ['ABC',1]
   :def: ['DEF',2]
   :ghi: ['GHI',3]
   :jkl: ['JKL',4]

 :server2:
   :abc: ['ABC',4]
   :def: ['DEF',2]
   :ghi: ['GHI',1]
   :jkl: ['JKL',3]

在运行时,我将服务器值和数组的左侧部分存储在一个变量中。例如: server_name = server1 (动态)和prop_values = abc1。如果我想访问server1的abc1,它应该返回1,所以我可以使用server1::data.env.server1.abc1,但我想动态传递这些值('server1‘和abc1)。我该怎么做呢?使用以下命令不会得到我想要的结果:

代码语言:javascript
运行
复制
Test::data.env[server_name][prop_values]

我想让它解析并得到.yml文件中使用拼音的实际值

EN

Stack Overflow用户

发布于 2018-02-10 06:05:15

首先,我们创建用于访问自定义.yml文件的load_custom.rb

config/initializers/load_config.rb

代码语言:javascript
运行
复制
CONFIG_PATH="#{Rails.root}/config/rv.yml"
RV_CONFIG = YAML.load_file(CONFIG_PATH)

然后在配置文件夹中创建rv.yml文件,如下所示:

./config/rv.yml

代码语言:javascript
运行
复制
server1:
   abc: ['ABC',1]
   def: ['DEF',2]
   ghi: ['GHI',3]
   jkl: ['JKL',4]

server2:
  abc: ['ABC',4]
  def: ['DEF',2]
  ghi: ['GHI',1]
  jkl: ['JKL',3]

现在,我们可以像下面这样访问:

代码语言:javascript
运行
复制
server_name = 'server1'
RV_CONFIG[server_name]

结果:

{"abc"=>"ABC",1,"def"=>"DEF",2,"ghi"=>"GHI",3,"jkl"=>"JKL",4}

代码语言:javascript
运行
复制
RV_CONFIG[server_name]['abc']

结果:

"ABC",1个

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48714074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档