2012-02-21 47 views
0

是否有这样做的以下简写:但每一个新建项目

<% @ticket.notes.each do |n| %> 
    <% if n != @ticket.notes.last %> 
     <div class="note"> 
     <p class="author">Note by <b>n.user.name</b></p> 
     <p class="time"><%= time_ago_in_words(n.created_at) %></p> 
     <p class="copy"><%= n.content %></p> 
     </div> 
    <% end %> 
    <% end %> 

所以没有必要检查项目是最后一个项目。

回答

2

你应该事先slice the array

<% @ticket.notes[0..-2].each do |n| %> 
    <div class="note"> 
    <p class="author">Note by <b>n.user.name</b></p> 
    <p class="time"><%= time_ago_in_words(n.created_at) %></p> 
    <p class="copy"><%= n.content %></p> 
    </div> 
<% end %> 
+0

我看看这是什么现在正在做的,从0拉出前一个的两倍。 – 2012-02-21 17:19:38

+0

@Joseph:我不知道你的意思是“前一个”。它只是简单地提取索引为'0'到'-2'的元素(这是倒数第二个元素)。 – 2012-02-21 17:26:43

+0

我的意思是,我没有意识到你可以使用落后指数 – 2012-02-21 17:33:56

0

您可以使用此:

 
    <% @ticket.notes[0..-2].each do |n| %> 
     <!--your html here--> 
    <% end %> 
相关问题