在看了这两个链接后,使用YAML和Middleman变得更加清晰: Middleman Docs(Local Data), parsing and composing YAML
我现在遇到的问题是访问多个级别的内容。
YAML(住在数据/项目中)
- quote: This is a quote
attribution: Kate Something
extras:
- extra one
- extra two
- extra three
- quote: Blah blah
attribution: Donna Doe
extras:
- another extra
- another extra
.HTML.ERB
<% data.projects.each do |f| %>
<div><%= f["quote"] %> <%= f["attribution"] %> <%= f["extras"] %></div>
<% end %>
以上是与Middleman一起顺利运行的,但是,如何访问“extras:”下面的数据并将它们吐出一个列表呢?
换句话说,这是在build中编译的:
<div>This is a quote Kate Something extra oneextra twoextra three</div>
这是需要实现的结果:
<div>This is a quote Kate Something
<ul>
<li>extra one</li>
<li>extra two</li>
<li>extra three</li>
</ul>
</div>
提前感谢您查看此问题。如果您需要澄清以上任何内容,请告诉我,我会尝试进一步解释。
答案 0 :(得分:4)
f["extras"]
只是另一个数组,因此您可以像迭代data.projects
一样迭代它:
<% data.projects.each do |f| %>
<div><%= f["quote"] %> <%= f["attribution"] %>
<ul>
<% f["extras"].each do |extra| %> <%# inner loop here %>
<li><%= extra %></li>
<% end %>
</ul>
</div>
<% end %>