Перебирая 'сообщения', я хочу создать строку div, которая будет содержать два элемента div:
<div id="row">
<div id="post"> ... </div>
<div id="post"> ... </div>
</div>
<div id="row">
<div id="post"> ... </div>
<div id="post"> ... </div>
</div>
Если я попробую это:
- @posts.each_with_index do |post,index|
- if index %2 == 0
.row
.post
- else
.post
... тогда я получаю:
<div class="row">
<div class="post"></div>
</div>
<div class="post"></div>
<div class="row">
<div class="post"></div>
</div>
<div class="post"></div>
Я понимаю, почему это происходит, но я не могу понять, как это сделать правильно. Есть идеи?
UPDATE:
Когда я получаю доступ к атрибутам объекта согласно предложению апноэдивера, я получаю ошибки, когда последний фрагмент содержит только один пост. Например, следующее ...
- @posts.each_slice(2) do |post1, post2|
.row
.post= post1.title
.post= post2.title
возвращает ошибку "неопределенный метод` title 'для nil: NilClass ", если существует нечетное количество сообщений. Чтобы обойти это, я использовал это:
- @posts.each_slice(2) do |post1, post2|
.row
.post= post1.title
.post= post2.title unless post2.nil?