2015-12-04 2 views
0

У меня есть цикл внутри .erb файл какПропустить итерацию в представлении рельсов

<% @columns.each do |column| %> 
    <td><%= column.name %></td> 
<% end %> 

Есть несколько простых способов, чтобы пропустить итерацию на основе значения имени столбца? Я попытался называть «следующий» внутри блока, но он не работает, потому что тег <% = ожидает что-то выводить.

+1

Принятая ответ это хорошо, но еще одна полезная стратегия, которую я нашел позже, чтобы отфильтровать список, прежде чем итерация его. –

+0

... и переместить его еще раз, выделив другую коллекцию, чтобы сохранить результаты? Ну ... зависит. Принятый ответ аналогичен «.lazy.filter», который выполняет фильтрацию как часть одного и того же обхода без дополнительного хранения. –

+0

Да, я повторяю очень маленькую коллекцию, поэтому я действительно не заботился о производительности, но вы правы. –

ответ

7

Попробуйте что-то вроде:

<% @columns.each do |column| %> 
    <% next if condition? %> 
    <td><%= column.name %></td> 
<% end %> 
Смежные вопросы