红宝石中间人哈希遍历

时间:2016-12-23 02:19:32

标签: ruby hash middleman

哈希新手。我从中间人数据文件中获取了一个由contentful_middleman自动生成的哈希。基本上

data.space.homepage = {
  "PCWLCTeTCKsaoGGSQOc6i"=>{
    "id"=>"PCWLCTeTCKsaoGGSQOc6i",
    "pageTitle"=>"Page Title",
    "pageContent"=>"page content",
  }
}

因为PCWLCTeTCKsaoGGSQOc6i是自动生成的,所以我必须能够在不使用此密钥的情况下引用它。

我不知道究竟为什么,但这里的下划线让我得到了我需要的地方:

        <% data.space.homepage.each do |_, item| %>
          <h1 class="tag"><%= item.pageTitle %></h1>
        <% end %>

我希望能够在不循环数据的情况下访问pageTitle和pageContent但我无法在没有明确使用密钥PCWLCTeTCKsaoGGSQOc6i

1 个答案:

答案 0 :(得分:1)

如果homepage是具有一对键/值的哈希,则可以使用:

title, content = data.space.homepage.values.first.values_at('pageTitle', 'pageContent')
title   #=> "Page Title"
content #=> "page content"

ID为:

homepage.keys.first #=> "PCWLCTeTCKsaoGGSQOc6i"