2011-12-17 72 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