在Rails视图中输出ruby Matrix

时间:2018-03-31 17:39:43

标签: ruby-on-rails

如果正在生成以下Matrix

@matrix = Matrix[[243, 256.0, 17762.980000000025], [363, 394.05, 27477.839999999997], [127, 495.5, 9712.96], [38, 249.0, 3497.8000000000006], [26, 110.0, 1365.4600000000005], [258, 650.0, 17966.500000000007]]

渲染它们时

<% @matrix.each do |item| %>
  <tr>
    <td><%= item[0] %></td>
    <td><%= item[1] %></td>
    <td><%= item[2] %></td>
  </tr>
<% end %>
出现

类型错误,例如

NoMethodError - undefined method `[]' for 256.0:Float:
NoMethodError - undefined method `[]' for 243:Fixnum

调用这些值的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用row_vectors返回行向量数组:

<% @matrix.row_vectors.each do |row| %>
  <tr>
    <td><%= row[0] %></td>
    <td><%= row[1] %></td>
    <td><%= row[2] %></td>
  </tr>
<% end %>