Модель Member
принадлежит_ к Discipline
, т. Е. Пользователь может иметь дисциплину, но это необязательно.
Мне интересно, каким будет идиоматический способ Rails показать дисциплину участника, когда я показываю данные пользователя,
Мой первый подход
<b>Discipline:</b>
<%=h @member.discipline.name %>
работает нормально, но не работает с NoMethodError
, если дисциплина участника Nil
.В этом случае я бы хотел, чтобы там ничего не было.
У меня есть несколько альтернатив:
- Определить метод
Member:discipline_name
, который возвращает "", если элемент не имеетдисциплина - Ограничить вывод с помощью if;
Альтернатива «если» будет выглядеть примерно так:
<b>Discipline:</b>
<% if @member.discipline %>
<%=h @member.discipline.name %>
<% end %>
Это не очень важное решение, но я бы хотел знать, есть ли «идиоматическое»способ "сделать это или какой-то помощник / что-то или что-то еще, чтобы рассмотреть.
br, Touko