2013-10-11 84 views
0

我有一個哈希看起來像這樣:哈希顯示相應的鍵和值

{"Title"=>"Harry Potter", "Author"=>"Jk rowling", "Date Published"=>"1997"} 

這裏的時候一切正常的HTML表:

enter image description here

現在,我只是遍歷th的鍵和td的值。

因此,這裏是我的代碼:

%table 
    %tr 
    - data.each do |key, array| 
     %th= key 

    %tr 
    - data.each do |key, array| 
     %td= array 

這工作,但我的問題是:

  • 如果值是空白的,而不是讓列對應的鑰匙坯,下一個值下方放在那裏。因此,如果作者的值留空,那麼1997年將轉移到在表中作者的下方。

感謝所有幫助!

+0

是否使用您的視圖代碼特定的寶石?這不是標準的Rails視圖格式。 – lurker

+0

我們需要看到您的數據更全面的例子。向我們展示一些缺失值的行。 –

+0

@mrbratch,其HAML代替ERB。你是這個意思嗎? –

回答

1

它可能是nil而不是生成thtd。你可以試試這個(注意,我不完全熟悉你使用的視圖的寶石,所以我走在它刺):

%table 
    %tr 
    - data.each do |key, array| 
     %th= key || " ".html_safe 

    %tr 
    - data.each do |key, array| 
     %td= array || " ".html_safe 
1

我會做更是這樣的:

%table 
    %tr 
    - data.keys do |key| 
     %th= key || ' ' 

    %tr 
    - data.values do |val| 
     %td= val || '<missing>' 

使用keysvalues以相同的順序返回鍵和它們各自的值,所以您的標題和數據將匹配。如果密鑰丟失&nbsp;將有助於柱出現。如果值是缺少&lt;missing&gt;應引起<missing>顯示。

沒有樣本數據和工作示例代碼中很難表現出更無需花費大量的時間拼湊假數據,視圖等