ruby-on-rails - 在 ERB 中同时循环遍历 2 个数组

标签 ruby-on-rails erb

我有两个像这样从我的 Controller 返回的数组:

@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 %>

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

最佳答案

更像 ruby​​-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 %>

关于ruby-on-rails - 在 ERB 中同时循环遍历 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090721/

相关文章:

Ruby RegEx/pattern-match 用于精确的单词/字符串匹配

javascript - ember 模板无法在 Rails 应用程序中呈现的最常见原因

ruby - 解析 ERB 文件的库

ruby - 使用哈希值渲染 ERB 模板

ruby-on-rails - 使用外部 postgres 数据库将 rails 部署到 Heroku

ruby - ERB 中的多行字符串缩进

ruby - 在 Sinatra 1.2.0 和 Ruby 1.9.2 上使用 Case Expression 的 SyntaxError

ruby-on-rails - 如何在 Rails 应用程序中有选择地跟踪方法及其文件访问?

ruby-on-rails - EC2 实例在负载均衡器中停止服务

ruby-on-rails - 在 Ruby on Rails 中自动更新 created_by 和 updated_by 值