【发布时间】:2018-03-26 05:02:46
【问题描述】:
我对 YAML 语法不太熟悉,似乎无法通过搜索找到解决方案。
我正在尝试遍历这个数据文件:
- category1:
title: Title 1
sub:
name: name1
desc: desc1
sub:
name: name2
desc: desc2
sub:
name: name3
desc: desc3
- category2:
title: Title 2
sub:
name: name1
desc: desc1
sub:
name: name2
desc: desc2
sub:
name: name3
desc: desc3
这是我的 erb 循环:
<% data.filename.category.each do |filter| %>
<%= filter["title"] %>
<% filter["sub"].each do |sub| %>
<%= sub["name"] %>
<%= sub["desc"] %>
<% end %>
<% end %>
期望的结果是:
平铺1
名称1 描述1 名称2 描述2 名称3 描述3
平铺2
名称1 描述1 名称2 描述2 名称3 描述3
【问题讨论】:
-
我不熟悉 ERB,但有两件事显然是错误的:1)
category 1与以下键处于相同的缩进级别,使它们成为category 1键的兄弟,而我认为它们应该是一个嵌套映射。 2)data.filename.category不太可能匹配任何内容,因为 YAML 中没有category键,并且 YAML 的根对象是一个序列。 -
另外,在 YAML 映射中,您不能拥有多个与
sub相同的键。您必须将sub的值改为一个序列。
标签: yaml frontend erb middleman