ruby中间人哈希遍历
ruby middleman hash traversal
哈希新手。我从 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
是否可行
如果 homepage
是具有一对 key/value 的散列,您可以使用:
title, content = data.space.homepage.values.first.values_at('pageTitle', 'pageContent')
title #=> "Page Title"
content #=> "page content"
ID 是:
homepage.keys.first #=> "PCWLCTeTCKsaoGGSQOc6i"
哈希新手。我从 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
如果 homepage
是具有一对 key/value 的散列,您可以使用:
title, content = data.space.homepage.values.first.values_at('pageTitle', 'pageContent')
title #=> "Page Title"
content #=> "page content"
ID 是:
homepage.keys.first #=> "PCWLCTeTCKsaoGGSQOc6i"