Yuv*_*rmi 25 ruby yaml ruby-on-rails
我想在我正在使用以下命令解析的YAML文件中包含一个哈希和列表:
APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml")
Run Code Online (Sandbox Code Playgroud)
我的YAML文件如下所示:
feeds: [{:url => 'http://www.google.com', :label => 'default'}]
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.我怎么去实现这样的事情呢?
谢谢,Yuval
编辑:对不起,伙计们.我仍然不清楚如何做到这一点,我怀疑这部分是由于我有些模糊的措辞.我在这里问了一个更好的,更广泛的问题.谢谢!
Cei*_*ish 30
你可以这样标记它
feeds:
-
url: 'http://www.google.com'
label: 'default'
Run Code Online (Sandbox Code Playgroud)
注意间距在这里很重要." - "必须由单个空格(不是制表符)缩进,后跟单个空格.并且url
&label
必须缩进两个空格(不是标签).
此外,这可能会有所帮助:http://www.yaml.org/YAML_for_ruby.html
jpo*_*ppe 14
天籁鱼的答案可能在技术上是正确的,但他建议在一条线的末端使用一个空白区域.这容易出错,不是一个好习惯!
我就是这样做的:
使用以下内容创建settings.yaml文件:
---
feeds:
:url: 'http://www.google.com'
:label: 'default'
Run Code Online (Sandbox Code Playgroud)
这将在加载YAML文件后创建以下哈希:
irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> YAML.load_file('settings.yaml')
=> {"feeds"=>{:url=>"http://www.google.com", :label=>"default"}}
irb(main):003:0>
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我也使用符号,因为这似乎是在Ruby中存储Ruby密钥的首选方式.
老问题,但因为我在一个类似的地方...像贾斯帕指出的那样,Ceilingfish的答案是正确的.但你也可以这样做
feeds:
- url: 'http://www.google.com'
label: 'default'
Run Code Online (Sandbox Code Playgroud)
避免在破折号后依赖尾随空格.
归档时间: |
|
查看次数: |
24189 次 |
最近记录: |