首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Ruby数组转换为HTML表,包括标题

将Ruby数组转换为HTML表,包括标题
EN

Stack Overflow用户
提问于 2013-04-26 05:11:11
回答 1查看 932关注 0票数 3

我试图将从CSV文本输入中解析出来的ruby Array数组显示为HTML表。

解析将输入分离为具有相等列的行数组,并由此创建行数组的数组。

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

这是在我的模型中:

代码语言:javascript
复制
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

这是输出:

代码语言:javascript
复制
["UK ", " USA ", " Euro "]
["Small UK ", " Small US ", " Small Euro "]
["Med UK ", " Med US ", " Med Euro "]
["Large UK ", " Large US ", " Large Euro"]

更新的解决方案:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2013-04-26 05:53:45

代码语言:javascript
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16224797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档