2016-07-16 36 views
0

我有上傳到我的網站的文檔,這些文檔存儲在數據庫中。我想這樣做,以便每上傳8個文檔,就會創建一個表中的新行,以便在上載新文檔時,如果表格行中已有8個文檔,則該文檔將被放置在新行中。爲每8個entrys 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 %> 

及以下的結局:

enter image description here

正如你所看到的,我已經創造了超過8個文件,但他們沒有創建一個新的表格行。打開建議!

回答

1

你的代碼幾乎是正確的,除非你已經使用了相同的document塊參數在兩個不同的do塊喜歡這裏的事實:

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

還有end報表已經應用在一個混亂的方式。


使用此代碼片段:希望它的作品!

<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

完全按照我的要求工作。也可以在一列中創建8個單元格,然後在8個創建後創建一個新列? –

+0

很高興它工作!在後一種情況下,您需要使用twitter引導程序網格來進一步自定義您的表格列。但這是另一個話題:) –

+1

不錯的工作+1 :) –

相關問題