Rails - отображать заголовок только один раз в блоке .each - PullRequest
0 голосов
/ 31 марта 2011


Нуб вопрос тут:)

Я тестирую переменную, и если она существует, я бы хотел отобразить цикл .each с заголовком.
Конечно, заголовок должен отображаться только один раз. Есть ли способ сделать это? Любая лучшая практика ?

<%
@twitter_friends.each do |u|
  if @user = User.is_a_member?(u.id)
%>
    # HERE I'D LIKE TO DISPLAY THE TITLE ONLY AT FIRST ITERATION
    <% @user.name %> is your twitter friend, and is a member.
  <% end %>
<% end %>

Спасибо!

1 Ответ

1 голос
/ 31 марта 2011

Я бы обычно рекомендовал использовать each_with_index и проверять нулевой индекс, но, поскольку у вас есть условие в цикле, вы должны использовать переменную проверки следующим образом:

<% shown_title = false %>
<% @twitter_friends.each do |u| %>
  <% if @user = User.is_a_member?(u.id) %>
    # HERE I'D LIKE TO DISPLAY THE TITLE ONLY AT FIRST ITERATION

    <% unless shown_title %>
      <h1>My Title</h1>
      <% shown_title = true %>
    <% end %>

    <% @user.name %> is your twitter friend, and is a member.
  <% end %>
<% end %>
...