2011-12-17 11 views
2

電子商取引ページのアイテムをRailsに表示したいのですが、標準の垂直リストテーブルの代わりに、タイトルと画像を左から右、約4を横切って、追加された通りにリストを続けます:ie。レールテーブルの水平テーブルにエントリを表示する方法

項目1つの項目2項目3項目4

エントリー5エントリー6 ....

私の最初の推測では、私は4倍にエントリをスキップすることができここで、各カラム・ためのスコープを作ることですしかし、私はCSSや他のトリックを使用してより良いソリューションがあるかどうかを知りたいですか?

+0

私が間違っていない限り、あなたの質問は少し曖昧です。言い直してください。 – ptriek

+0

@ptriekダース氏は、リストの代わりに配列内にデータの表を表示することを探していました。ありがとう! – keade

答えて

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

ありがとうダース。私はeach_sliceを試し、フォールバックとしてCSSを試してみましょう。このeach_sliceはコントローラーの右側で動作しますか? so: @products = Product(1 ... 10).each_slice(3){| a | p a} は必須ですか? – keade

+0

@keadeこれはEnumerableのメソッドであり、Railsだけに特化したものではないので、どこでも動作します。必要に応じて、コントローラーまたはビューで行うことができます。 –

+0

Gotcha。助けを感謝します! – keade

関連する問題