有没有可能转置html表(没有javascript)。我正在从一个对象列表中生成一个包含rails (和erb)的表。因此,当每行对应一个对象时,这是非常容易和自然的。但是,我需要将每个对象表示为一列。我希望只有一个循环,并描述每一列,而不是为每一列都做相同的循环。(这不一定是一个真正的表,可以是一个列表或任何可以做到这一点的东西)。
更新
来澄清这个问题。我不想转置ruby中的数组,而是垂直显示一行html表。我的实际表格实际上是每行使用一个部分,它生成一个单元格列表(td)。如果有帮助,可以将其更改为列表。无论如何,这是一个HTML问题,而不是一个ruby问题:如何垂直(而不是水平)显示包含行的表格。
发布于 2010-11-17 22:15:56
显然,答案是否定的:-(
发布于 2010-09-09 01:13:10
你可能需要这样的东西?
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]}https://stackoverflow.com/questions/3669957
复制相似问题