[英]How to iterate through a nested array in a JSON object (Rails)
如何遍歷嵌套在JSON對象中的值的數組? 這將在.html.erb
文件中呈現。
這導致在視圖中顯示實際數組。
<% @data.each do |y| %>
<%= y["name"] %>
<%= y["location"] %>
<%= y["cars"] %>
<%= y["married"] %>
<% end %>
這將導致undefined method 'each' for nil:NilClass
的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成功實現此功能嗎?
您之前在Controller / service中使用JSON.parse
解析過JSON嗎? 我問,因為當您在數組中有空y["cars"]
時,這是一個奇怪的情況...在某些情況下...
如果是,則:cars
in的stub nil
值,如果為空且帶有空數組[]
:
<%- (y["cars"] || []).each do |z| %>
<%= z["make"] %>
<%= z["value"] %>
<%- end %>
並用裝飾器做得更好(請參見draper
gem)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.