我有上传到我网站的文件,这些文件存储在数据库中。我想这样做,以便每上传8个文档,创建一个表中的新行,以便在上载新文档时,如果表行中已有8个文档,则该文档将被放置在新行中。
目前我已经拥有它,以便每次添加文档时,都会创建一个新的表格单元格,其中包含新文档及其标题。我只是不知道如何制作它,以便在8个文档而不是创建一个非常长的表后,创建一个新的表行以容纳新文档。
下面是我的代码和ruby循环:
<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个以上的文档,但它们并没有创建新的表格行。接受建议!
答案 0 :(得分: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>