2016-05-31 75 views
0

如何迭代嵌套爲JSON對象內的值的數組?這將在.html.erb文件中呈現。如何遍歷JSON對象中的嵌套數組(012)

這會導致在視圖中顯示實際的數組。

<% @data.each do |y| %> 
    <%= y["name"] %> 
    <%= y["location"] %> 

    <%= y["cars"] %> 

    <%= y["married"] %> 
<% end %> 

這會導致undefined method 'each' for nil:NilClass

<% @data.each do |y| %> 
    <%= y["name"] %> 
    <%= y["location"] %> 

    <% y["cars"].each do |z| %> 
     <%= z["make"] %> 
     <%= z["value"] %> 
    <% end %> 

    <%= y["married"] %> 
<% end %> 

JSON

[ 
    { 
     "name":"Jim", 
     "location":"London", 
     "cars": [ 
        { 
         "make":"Audi", 
         "value":"100k" 
        } 
      ], 
     "married": "Y" 
    }, 
    { 
     "name":"Sarah", 
     "location":"New York", 
     "cars": [ 
        { 
         "make":"Ferrari", 
         "value":"200k" 
        }, 
        { 
         "make":"Lambo", 
         "value":"350k" 
        } 
      ], 
     "married": "Y" 
    }, 
] 

有沒有人在成功之前,Rails的模板,JSON實現這一點?

回答

1

你在控制器/服務中解析過JSON嗎JSON.parse?我問,因爲這是當你在某些情況下,陣列...有空y["cars"]遇怪...

如果是短線nil:cars價值,如果它是空的,空數組[]

<%- (y["cars"] || []).each do |z| %> 
    <%= z["make"] %> 
    <%= z["value"] %> 
<%- end %> 

並用裝飾者做得更好(請參閱draper寶石)。

+0

存根工作。驚人!需要了解現在如何工作.. –