Что лучший способ использует несколько строк <% %> Тег или <% %> Тег с несколькими строками?

Извините, если заголовка недостаточно для понимания то, о чем я спрашиваю. Я - разработчик направляющих, и я использовал несколько строк <% %> в моих представлениях, но теперь я понял, что это не лучшая практика, таким образом, я приехал сюда, и любите Вам всем превосходных парней, каков корректный путь в ROR?

Например, если я потребовал к чему-то как следующее

 <% user =User.all %>
 <% name= [] %>
 <% count = 0 %>
  <% for user in users %>
    <% name << user.name %>
    <% count+=1%>
  <% end %>

Я могу сделать это следующим образом?

 <% user =User.all 
    name= [] 
    count = 0
    for user in users 
      name << user.name 
      count+=1
    end 
 %>

Я знаю, что лучшим способом собрать элемент из массива, Но выше является просто пример. Но мой вопрос, действительно ли возможно и если да, который является корректным путем?

1
задан Salil 15 May 2010 в 06:11
поделиться

2 ответа

Я думаю, что правильный способ - это нечто совершенно иное: убрать логику из представлений .

Это сообщение в блоге объясняет, что я имею в виду.

1
ответ дан 3 September 2019 в 00:32
поделиться

Использование только одной пары тегов для каждого блока кода, безусловно, предпочтительнее хотя бы потому, что это уменьшает размер вывода.

На самом деле код должен выглядеть как

<% names = User.all.map(&:name) %>

Обратите внимание, что "count" можно получить через names.size.

Если вам нужно смешивать <% и <% =, вам нужно переключить:

<% for user in User.all %>
<%= user.name %></br>
<% end %>
0
ответ дан 3 September 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: