Я пишу основное приложение Rails для отслеживания домашней работы (в основном это интерфейс базы данных). Я использую grid-систему из рамки Materialize CSS (так же, как Bootstrap, 12 столбцов). Когда я собираю записи из базы данных (куски домашней работы), я хочу их отобразить, чтобы попытаться разделить каждую строку на 3 divs из 4 столбцов, если в последней строке есть только две записи, тогда она должна разделить их на две divs из 6 столбцов, и если в последней строке есть только одна запись, тогда она должна показывать ее как один div из 12 столбцов.Rails - изменение HTML на основе количества остатков записей 3
Вот моя попытка:
<% count = 1 %>
<% @homeworks.each do |homework| %>
<% if @homeworks.length - count > 0 then %>
<div class="col s12 m4">
<% count = count + 1 %>
<% elsif @homeworks.length - count == 1 then %>
<div class="col s12 m6">
<% else %>
<div class="col s12 m12">
<% end %>
<a href="<%= homework_path(homework) %>">
<div class="card-panel hoverable">
<center><h5 class="cutoff"><%= homework.title %></h5></center><br>
<%= truncate(homework.content, :length => 17, :separator => ' ') %>
</div>
</a>
</div>
<% end %>
Это работало отлично 5 записей:
Однако, с 6 записей я получаю этот результат:
Может ли кто-нибудь указать мне правильное направление? Спасибо.