значение в модели AR - как проверить все сценарии - PullRequest
0 голосов
/ 21 марта 2012

В моей модели AR есть текстовое значение, которое по умолчанию равно нулю. Я хочу проверить значение для того, является ли это или не ноль или не пустая строка.

<% if !item.public_notes.empty? && !item.public_notes.nil? %>
  <%=item.public_notes %>
<% end %>

вот ошибка:

ActionView::Template::Error (You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.empty?):

Если установлено значение NULL, атрибут возвращается как ноль и ошибки в первом случае. Кажется, я не должен был вкладывать их. Как правильно проверить это в слое вида? Ошибка указывает на проблему, упомянутую выше?

ТНХ

1 Ответ

2 голосов
/ 21 марта 2012

Я бы использовал unless, а помощник по рельсам blank? (который проверяет, является ли он нулевым? Или пустым?)

<% unless item.public_notes.blank? %>
  <%= item.public_notes %>
<% end %>
...