html - 转置 html 表格

标签 html ruby-on-rails

是否可以转置 html 表格(无需 javascript)。 我正在从对象列表中生成一个带有 rails(和 erb)的表。所以当每一行对应一个对象时,这样做真的很容易和自然。但是,我需要将每个对象表示为一列。我希望只有一个循环并描述每一列,而不是对每一列执行相同的循环。 (这不一定需要是一个真正的表,可以是一个列表或任何可以解决问题的东西)。

更新

澄清问题。我不想在 ruby​​ 中转置一个数组,而是要显示一个垂直行的 html 表。我的实际表实际上每行使用一个部分,它生成一个单元格列表 (td)。如果有帮助,可以将其更改为列表。无论如何,这是 HTML 问题而不是 ruby 问题:如何垂直(而不是水平)显示包含行的表格。

最佳答案

您可能需要这样的东西?

class Array
  def transpose
    # Check here if self is transposable (e.g. array of hashes)
    b = Hash.new
    self.each_index {|i| self[i].each {|j, a_ij| b[j] ||= Array.new; b[j][i] = a_ij}}
    return b
  end
end

a = [{:a => 1, :b => 2, :c => 3}, {:a => 4, :b => 5, :c => 6}]
a.transpose #=> {:a=>[1, 4], :b=>[2, 5], :c=>[3, 6]}

关于html - 转置 html 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669957/

相关文章:

HTML/CSS 文本未显示在 DIV/P 中

html - 选项中的图标 - Bootstrap + Font-awesome

ruby-on-rails - 如何在 angularjs 中使用原生 anchor 链接

ruby-on-rails - 无法在 Heroku 上使用 Webpacker 部署 Rails 应用程序

javascript - 如何通过 Django 中的确认弹出窗口创建“删除数据库中的项目”?

html - Safari 中的垂直居中

javascript - 仅显示 html 中第一个逗号之前的内容

html - 如何在 Rails 中单击按钮打开新选项卡?

ruby-on-rails - rvm 和 rbenv 在后台做了什么来安装 Ruby?

ruby-on-rails - 规范/邮件程序/预览中不提供Rails邮件程序预览