【问题标题】:transpose a html table转置一个 html 表格
【发布时间】:2010-09-08 16:39:03
【问题描述】:

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

更新

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

【问题讨论】:

  • 是否“转置”了一些 Ruby on Rails 特定的词汇?如果不是:请定义“转置”
  • 转置为转置矩阵 => en.wikipedia.org/wiki/Transpose。 (如果您愿意,可以交换行和列,或者在我的情况下垂直显示行就足够了)。

标签: html ruby-on-rails


【解决方案1】:

你可能需要这样的东西?

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]}

【讨论】:

  • @mb14:你应该这样做。
【解决方案2】:

显然,答案是否定的:-(

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2021-10-14
    • 2013-08-21
    • 1970-01-01
    相关资源
    最近更新 更多