2016-12-23 10 views
1

ハッシュの新機能。私は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 %> 

私はデータをループすることなく、ページタイトルとpageContentにアクセスできるようにしたいのですが、私はできますそれが可能かどうhomepageは、キー/値の単一のペアとハッシュが「tは明示的にキーPCWLCTeTCKsaoGGSQOc6i

+0

ハッシュを反復するときは、ブロック内のキーと値を表すために '| k、v | 'を使用します。値ではなくキーを使用している場合、標準では、キーが使用されていないことを示すために '| _、v | 'を使用します。あなたの場合、 '| _、item |'はあなたが変数 'item'で値を表していることを示していて、あなたのブロックでそのキーを使用していません。 – moveson

+0

また、ハッシュで.keysを呼び出すことができます –

答えて

1

を使用せずに把握、あなたが使用することができます。

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

idは:

homepage.keys.first #=> "PCWLCTeTCKsaoGGSQOc6i" 
+0

素敵な感謝! 'data.space.homepage.values.first'は素晴らしいです。 – captainill

関連する問題