Условное значение в рубине на рельсах? - PullRequest
2 голосов
/ 16 февраля 2010

У меня есть форма, в которой я могу установить различные поля клиента, такие как имя клиента, адрес клиента и т. Д.
Только имя клиента является обязательным полем, а все остальные поля могут быть пустыми.
После сохранения данных клиента я показываю конечному пользователю страницу с информацией о клиентах (со всей информацией о клиентах).
Теперь, если поле адреса пустое, я хочу отобразить какой-то настроенный текст, например «Адрес не установлен». В настоящее время моя страница показа показывает только это

Адрес <% = h @ client.address%> Поэтому, если адрес пуст, я ничего не вижу.
Может кто-нибудь сказать мне, как я могу добавить этот условный текст?

Ответы [ 3 ]

5 голосов
/ 16 февраля 2010
<%=h @client.address.present? && @client.address || "The Address is not set"%>

Если вы используете его достаточно часто, вы можете сделать его помощником.

2 голосов
/ 16 февраля 2010

Множество способов, вот несколько грязный

<%=h (@client.address.blank? ? "The Address is not set" : @client.address) %> 
1 голос
/ 16 февраля 2010

Попробуйте это ...

<%- if @client.address.blank? %>
  "The Address is not set"
<%- else %>
  <%=h @client.address %>
<%- end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...