4.1.2. Учебное пособие по Hartl. Почему "def full_title (page_title= '')", а не просто "def full_title (page_title)"

70
7

Помощник выглядит следующим образом:

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

Я не понимаю, почему существует "page_title= '" вместо простого аргумента "page_title"

Благодаря,

спросил(а) 2017-03-25T09:08:00+03:00 3 года, 6 месяцев назад
1
Решение
71

Это значение по умолчанию. При вызове full_title если вы не пройдете page_title он примет default '' - blank string

ответил(а) 2017-03-25T09:12:00+03:00 3 года, 6 месяцев назад
58

Он предназначен для отображения использования значений по умолчанию в аргументах.


В этом случае он не нужен, потому что есть код, чтобы иметь дело с аргументом empty или nil.

ответил(а) 2017-03-25T09:13:00+03:00 3 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема