2012-03-21 4 views
0

У меня есть текстовое значение в моей модели AR, которая по умолчанию равна null. Я хочу проверить значение, является ли оно ни ноль, ни пустой строки.значение в модели 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, то атрибут возвращается как ноль и ошибки из в первом случае. Похоже, мне не нужно было гнездиться. Каков правильный способ проверки на уровне представления? Является ли ошибка, указывающая на проблему, упомянутую выше?

ТНХ

ответ

2

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

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

прохладного ТНХ на помощь. кажется, хорошо работает – timpone