Тестирование, если заголовок присутствует, используя пустое? против пустых?
В главе 4 Rails Tutorial мне было любопытно, была ли причина для использования empty?
скорее, чем blank?
при тестировании, чтобы увидеть, если заголовок присутствовал? Очевидно, я новичок в рельсах, но я подумал blank?
Метод обеспечил немного большую гибкость.
module ApplicationHelper
# Returns the full title on a per-page basis.
def full_title(page_title = '')
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
page_title + " | " + base_title
end
end
end
2 ответа
Я думаю, это может быть связано с тем, что blank будет иметь значение true для строк, содержащих пробельные символы, и потому что в вашем коде page_title инициализируется по умолчанию, поэтому проверка на nil не требуется.
Причина по которой page_title
проверяется против empty?
потому что по умолчанию page_title
это строка Контракт на full_title
ожидает строку, а не ноль.
Если бы вы должны были пройти в full_title(nil)
к этому методу, он будет взорван, говоря неопределенный метод empty?
для нулевого класса.
В любом случае, blank?
просто проверяет nil? || empty?