2015-08-30 31 views
2

我在这里有一个简单的块,它截断了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

题外话:我会避免格式化日期和时间在你的意见时,使用'strftime'直接;使用'I18n.localize'并将你的格式放在'config/locals/*。yml'中,参见http://guides.rubyonrails.org/i18n.html – house9

+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> 
+2

好主意与索引的想法。没有想到这一点。谢谢。 –