如何在Rails模板上迭代数组数组?

时间:2017-06-04 19:04:38

标签: ruby-on-rails templates ruby-on-rails-4 view

我有以下形式的数组:

[["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]

有没有办法以某种方式使用迭代器在Rails模板上显示这些信息?我需要这样的东西:

首先 - a,b,c

第二 - d,e,

第三次 - g,h,i。

或者这是不可能的,我应该修改初始数组形式?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果没有修改主数组,你可以尝试使用each_with_index each内的主要数组数组,然后检查第一个值,你可以跳过它并得到字母数组:

array = [["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]

array.each do |main|
  main.each_with_index do |value, index|
    next if index.zero?
    p value 
  end
end
# => ["a", "b", "c"]
#    ["d", "e"]
#    ["g", "h", "i"]

或者如果你想以哈希的方式访问它,那就更容易了:

array = [["First", ["a", "b", "c"]], ["Second", ["d", "e"]], ["Third", ["g", "h", "i"]]]
array.to_h.each do |_, value|
  p value
end
# => ["a", "b", "c"]
#    ["d", "e"]
#    ["g", "h", "i"]