2016-07-16 7 views
0

私は自分のサイトにアップロードされたドキュメントをデータベースに保存しています。私は、8つの文書がアップロードされるたびに、新しい文書がアップロードされるときにテーブルの行にすでに8つの文書がある場合、その文書が新しい行に配置されるように、テーブルの新しい行が作成されるようにします。8つのエントリごとに新しいtablerowを作成するRails

現在、私はドキュメントを追加するたびに、新しいドキュメントとそのタイトルを含む新しいテーブルセルが作成されるようにします。私はちょうど非常に長いテーブルを作成するのではなく、8つの文書の後に、新しい文書を収容するために新しいテーブル行を作成するようにする方法を知らない。

は以下の表のための私のコードとルビーのループです:

<table> 
    <% @documents.each_slice(8) do |document| %> 
    <tr> 
     <% document.each do |document| %> 
     <td><%= document.title %>: <%= link_to "Download", Document.last.pdf.url(:original, false) %> 
     </td> 
    </tr> 
    </table> 
    <% end %> 
<% end %> 

をし、以下の成果である:あなたが見ることができるように、私は8つの以上の文書を作成している

enter image description here

、彼らは新しいテーブルの行を作成していません。提案に開放!

<table> 
<% @documents.each_slice(8) do |document| %> 
<tr> 
    <% document.each do |document| %> 

などend文厄介な方法で使用されている:あなたはここのような二つの異なるdoのブロックに同じdocumentブロック引数を使用していた事実は除き

答えて

1

あなたのコードは、ほとんどの権利であります。


このコードスニペットを使用してください:うまくいきますように!

<table> 
<% @documents.each_slice(8) do |eight_documents| %> 
    <tr> 
    <% eight_documents.each do |document| %> 
    <td><%= document.title %>: <%= link_to "Download", Document.last.pdf.url(:original, false) %></td> 
    <% end %> 
    </tr> 
<% end %> 
</table> 
+0

私が尋ねたように、それは完全に機能します。 1つの列に8つのセルを作成し、8つの列が作成された後で新しい列を作成することも可能ですか? –

+0

うれしかった!後者の場合は、テーブル列をさらにカスタマイズするために、twitterブートストラップグリッドを使用する必要があります。しかしそれは別の話題です:) –

+1

素敵な仕事+1 :) –

関連する問題