Ruby on rails 除新建项目外的每个项目

Ruby on rails 除新建项目外的每个项目,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,是否有执行以下操作的速记: <% @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

是否有执行以下操作的速记:

  <% @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 %>

n.user.name注释

这样就无需检查项目是否为最后一项。

您应该事先:

<% @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 %>

n.user.name注释

您可以使用以下功能:

<% @ticket.notes[0..-2].each do |n| %> <!--your html here--> <% end %>
我明白这是怎么回事了,两次从0变为前一个。@Joseph:我不知道你说的“前一个”是什么意思。它只是通过
-2
(这是最后的第二个元素)提取索引为
0
的元素。我的意思是,我没有意识到你可以使用backwardindices@Joseph:是的,很方便。