2011-12-17 67 views
2

我想在Rails中显示电子商务页面的项目,而不是标准的垂直列表表格,我想标题和图像从左到右正确,大约4,然后继续添加列表:即。我怎样才能在rails 3.1中的水平表中显示条目

条目第1条目2条目3条目4

条目5项6 ....

我的第一猜测是使一个范围为每列 - 在那里我可以由4倍跳过条目,但我想知道是否有更好的解决方案使用CSS或任何其他技巧?

+0

除非我错了,你的问题有点含糊。请重新说明。 – ptriek 2011-12-17 22:26:07

+0

@ptriek我认为Darth在下面找到了它 - 正在寻找在数组中显示数据表而不是列表。谢谢! – keade 2011-12-20 17:49:29

回答

4

Enumerable上有一个方法叫each_slice。基本上它所做的就是给你一个数组的切片。

(1..10).each_slice(3) {|a| p a} 
# outputs below 
[1, 2, 3] 
[4, 5, 6] 
[7, 8, 9] 
[10] 

使用CSS将具有固定宽度的容器的另一种选择,比方说400像素,然后让每个元件具有width: 100pxfloat: left,所以他们会排队一个接一个。

+0

谢谢Darth。我会尝试each_slice并作为css的后备。这each_slice正确的控制权?所以: @products = Product(1 ... 10).each_slice(3){| a | p a} 将是必需的用途? – keade 2011-12-20 17:51:37

+0

@keade它在任何地方都可以工作,因为它是Enumerable上的一个方法,没有什么特定于Rails的。您可以在控制器中执行此操作,也可以在视图中执行。 – 2011-12-21 09:18:16

+0

哎呀。感谢帮助! – keade 2011-12-21 17:13:31