Я использую ruby on rails и will_paginate для вывода сообщений на страницу, подобную этой:
<div class="posts">
<% render @posts %>
</div>
Допустим, я хочу изменить эту страницу, чтобы я отображал некоторые сообщения в разных элементах div:
<% render 'posts / post',: post => # первый элемент в коллекции%>
<div class="second_post">
<% render 'posts/post', :post => #the second element in the collection %>
</div>
</div>
<div class ="lower_container">
<div class="posts">
#may have to run a loop for this last one, to render all the rest of posts. How?
<% render 'posts/post', :post => #all other posts %>
</div>
</div>
В частности, я знаю, что мог бы использовать @ post.first для первого элемента, но не знаю о втором (или третьем, или четвертом элементах). Естественно, мой опыт программирования заставляет меня хотеть делать @post (n), где n - это индекс элемента, к которому я хочу получить доступ. Это не работает в рубине.
К вашему сведению: коллекция записей создается в контроллере с помощью:
@posts = Post.paginate(:page => params[:page])
Кто-нибудь знает, как мне лучше всего достичь этой цели? Я знаю, что это может показаться нетрадиционным, но для аспектов html / UI, которые я действительно хочу сделать, есть div'ы, подобные этому ..