仅截断rails中较旧的帖子

时间:2015-08-30 18:38:11

标签: ruby-on-rails ruby erb truncate

我在这里有一个简单的do块,它会截断index.html.erb上的所有帖子。我想要做的是不截断顶部的最新帖子,但截断它下面的其余帖子,所以页面的大部分是最新的帖子。我知道这对某些人来说可能很容易解决,但我似乎无法弄明白。帮助将不胜感激。感谢。

</div>
  <% @posts.each do |post| %>
    <h2 class="title"><%= link_to post.title, post %></h2>
      <p><%= truncate(post.body, :length => 300) %></p>
      <p class="date"><%= post.created_at.strftime("%B, %d, %Y") %></p>
    <% end %>
</div>

1 个答案:

答案 0 :(得分:4)

试试这个

<div>
  <% @posts.each_with_index do |post, index| %>
    <h2 class="title"><%= link_to post.title, post %></h2>
    <p><%= index.zero? ? post.body : truncate(post.body, length: 300) %></p>
    <p class="date"><%= post.created_at.strftime("%B, %d, %Y") %></p>
  <% end %>
</div>