Следует четко различать guish между <%
и <%=
шаблонными тегами.
Первый оценивает код, второй оценивает его, а выводит результат . EEx
не любит <%= nil %>
операторов, а unless/1
возвращает nil
, если условие истинно и условие else
не указано.
Тем не менее, ниже будет работать.
# ⇓⇓⇓ DO NOT PRINT IT OUT
<% unless is_nil(member.point2) %>
<%= member.point2 %>
<% end %>
Кроме того, вы можете обмануть двигатель, преобразовав nil
в приемлемую пустую строку.
<% for member <- @members, not is_nil(member) do %>
<%= to_string(member.point1) %>
<%= to_string(member.point2) %>
<%= to_string(member.point3) %>
<% end %>