2014-06-06 33 views
2

2个阵列我有两个数组,我从我的控制器返回,像这样的:遍历同时在ERB

@array1 = [] 
@array2 = [] 

@person_stat = PersonStats.select("id").map(&:id) 

for idx in 0 ... @person_stat.size 
    @array1[idx] = Person.find(@person_stat[idx]) 
    @array2[idx] = Array2.id_to_array2(@array[idx].id) 
end 

return @array1, @array2 

但现在我需要在我.html.erb文件打印表所示。我的猜测是:

<%= @array1.each, @array2.each do |a1, a2| %> 
<tr><td><%= a1.name %></td><td><%= a2.type %></td></tr> 
<% end %> 

但这是不正确的。任何帮助将不胜感激。

+0

难道他们总是相同的大小? – Iceman

+0

是的,它们总是一样的大小。 – user3716149

+0

这在视图层中是太多的逻辑/思想。将它们在控制器,主讲者,装饰者,助手,任何东西中压缩。 –

回答

7

更红宝石STIC方法是使用zip功能:

a = (1..10).to_a 
b = (10..20).to_a 

a.zip(b).each do |c, d| 
    puts "#{c}, #{d}" 
end 

你的情况:

<%= @array1.zip(@array2) do |a1, a2| %> 
<tr><td><%= a1.name %></td><td><%= a2.type %></td></tr> 
<% end %>