Как лучше всего использовать несколько строк тега <%%> или тега <%%> с несколькими строками? - PullRequest
1 голос
/ 15 мая 2010

Извините, если заголовка недостаточно, чтобы понять, о чем я спрашиваю.Я разработчик рельсов, и я использовал несколько строк <%%> в своих взглядах, но теперь я понял, что это не лучшая практика, поэтому я пришел сюда и хотел бы сказать вам всем отличные ребята, каков правильный путь в 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 
 %>

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

Ответы [ 3 ]

1 голос
/ 16 сентября 2013

в начале и конце должно иметь «<%» или «%>» Как:

<% users = User.all 
    name= [] 
    count = 0
    for user in users 
      count+=1
    end %>
1 голос
/ 15 мая 2010

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

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

0 голосов
/ 15 мая 2010

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

Код действительно должен выглядеть как

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

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

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

<% for user in User.all %>
<%= user.name %></br>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...