Ruby 数组到 HTML 表,包括标题

Posted

技术标签:

【中文标题】Ruby 数组到 HTML 表,包括标题【英文标题】:Ruby Array to HTML table including header 【发布时间】:2013-04-19 22:34:33 【问题描述】:

我正在尝试将我从 CSV 文本输入中解析出来的 ruby​​ 数组呈现为 html 表格。

解析已将输入分离为具有相等列的行数组,从中创建了一个行数组数组。

演示文稿需要容纳行或列的任意组合,并将第一个数组(索引 = 0)视为表头。

这是在我的模型中:

class Size < ActiveRecord::Base

attr_accessor :chart_options, :test
attr_accessible :account_id, :chart, :name

belongs_to :account

def test
'<it>hello</it>'
end


def chart_options

require 'csv'   

@chart_options = CSV.parse(chart , :headers => true, :col_sep => "|", :row_sep     => :auto, :skip_blanks => true)

@table = CSV.parse(chart, :headers => true, :col_sep => "|", :row_sep => :auto, :skip_blanks => true).to_a

@chart_options
@table

end

end

这是输出:

["UK ", " USA ", " Euro "]
["Small UK ", " Small US ", " Small Euro "]
["Med UK ", " Med US ", " Med Euro "]
["Large UK ", " Large US ", " Large Euro"]

更新的解决方案:

<table class="size_chart table table-striped">
    <thead>
        <tr>
          <% @headers.each do |header| %>
            <th><%= header %></th>
          <% end %>
        </tr>
    <thead>
    <tbody>
        <% @rows.each do |row| %>
          <tr>
            <% row.each do |column| %>
              <td><%= column %></td>
            <% end %>
            </tr>
          <% end %>
    </tbody>
</table>

【问题讨论】:

你要什么? 【参考方案1】:
<table>
<tr>
  <% @table.delete_at(0).each do |header| %>
    <th><%= header %></th>
  <% end %>
</tr>
<% @table.each do |row| %>
  <tr>
    <% row.each do |column| %>
      <td><%= column %></td>
    <% end %>
  <% end %>
</table>

警告:我没有测试过这段代码,所以可能有错别字,但这是大体思路,循环中的循环。

【讨论】:

感谢您的快速回答。迭代 2 个数组有效。我在上面的最终代码中包含了 sn-p。

以上是关于Ruby 数组到 HTML 表,包括标题的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML 页面上循环浏览 Ruby 数组中的值

在 Ruby 中将数组输出到 CSV

2D Numpy 数组到 HTML 表?

以 HTML 无序列表的形式将数组元素从 html 表移动到另一个数组

将php多维数组输出到html表

每个循环都有基本数组 vs ruby​​ 数组