访问多层YAML和Middleman

时间:2013-04-08 17:35:57

标签: yaml middleman

在看了这两个链接后,使用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>

提前感谢您查看此问题。如果您需要澄清以上任何内容,请告诉我,我会尝试进一步解释。

1 个答案:

答案 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 %>