Say У меня есть модель пользователя, и есть куча информации о пользователе, как электронная почта, дата рождения, расположение, номер телефона и т.д.Показывать только непустых атрибуты модели в представлениях в Rails
Что это самый простой способ скрывая атрибуты, которые пусты?
Я делаю что-то вроде
<% if blog.title.empty? -%>
<p>Body: <%=h blog.body %></p>
<p>Comments: <%=h blog.comments %></p>
<% elsif blog.body.empty? %>
<p>Title: <%=h blog.title %></p>
<p>Comments: <%=h blog.comments %></p>
<% else -%>
<p>Title: <%=h blog.title %></p>
<p>Body: <%=h blog.body %></p>
<% end -%>
Очевидно, что это один уродливый ребенок. Помимо использования частичных изображений для рендеринга, есть ли трюк, чтобы показывать только пустые поля?
Я пытался написать метод helpher, чтобы сделать просмотр более чистым, но это еще более уродливо.
Любая помощь приветствуется.
вы не можете сделать это с помощью if-другое состояние. потому что, если ваше условие IF получится истинным независимо от других условий ELSIF, оно не будет выполнено. для:: название и тело оба не пусты, но вы можете видеть только заголовок. – Salil
На самом деле это сработало для меня. Если бы одно совпадало, я бы не хотел, чтобы другие были выполнены, или у меня было бы три экземпляра каждой записи. Все было в блоге в блогах @blogs, поэтому для каждого примера это шаг за шагом, останавливаясь, если кто-то вернул true. –