Ruby on Rails改变了数组显示顺序

时间:2013-06-24 05:23:24

标签: ruby ruby-on-rails-3

我正在尝试找到一种在 Rails视图中显示数组的方法,如下所示:

 [  1  ] [  4  ] [  7  ] [  10  ]
 [  2  ] [  5  ] [  8  ] [  11  ]
 [  3  ] [  6  ] [  9  ] [  12  ]

在我的控制器中,我有一个定义为

的数组
 def index
 @myArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
 end

由于此显示顺序对于表格来说并不典型,因此我不确定如何继续完成此操作。

我想知道以下内容:

  1. 使用我在代码中请求的顺序,在我的Rails视图页面上的表格中显示值(上图)的最佳方法是什么?只需使用@myArr<tr>循环遍历<td>,就会产生以下结果:

    [  1  ] [  2  ] [  3  ] [  4  ]
    [  5  ] [  6  ] [  7  ] [  8  ]
    [  9  ] [  10 ] [  11 ] [  12 ]
    
  2. 提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

如果你想在Ruby中做,那么:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].each_slice(3).to_a.transpose.flatten
# => [1, 4, 7, 10, 2, 5, 8, 11, 3, 6, 9, 12]

但我不会这样做。我会使用CSS3 flexbox属性来完成它。