我有一个2d的对象数组和整数@user_double_array。它看起来像这样。
[[#<User object>, integer], [#<User object>, integer]]
我在我的观点中称呼这个
<% @user_double_array.each do |user, percentage| %>
<% end %>
我想拥有每次迭代的次数,所以我尝试了这个
<% @user_double_array.each_with_index do |user, percentage, index| %>
<% end %>
但是我在使用
等用户时收到错误 "undefined method "email" for #<Array:0x007ff793c42240>"
如何跟踪每次迭代?
答案 0 :(得分:2)
由于你有一个数组数组,当你迭代时,每次block变量给出一个数组时,你可以再次调用.first
和.last
来使事情有效。所以,
@user_double_array = [[#<User object>, integer], [#<User object>, integer]]
您可以像这样迭代
<% @user_double_array.each_with_index do |user_array, index| %>
<%= index %>
<%= user_array.first.email %> // user_array.first holds #<User object>
<%= user_array.last %> //gives integer
<% end %>
希望这有帮助。