Именование маршрута позволяет вам ссылаться позже, если вы хотите динамически генерировать URL. С вашим примером, вы можете сделать это в коде:
my $link = $self->url_for('cities_new_form')
и $link
будут автоматически заполняться с URL, заканчивающейся в /cities/new
. Вы можете получить фантазию, если ваш маршрут имеет динамические части. Например:
$r->route('/cities/:cityname')
->via('get')
->to(controller => 'cities', action => 'new_form')
->name('cities_new_form');
Тогда вы можете создать URL, как
my $link = $self->url_for('cities_new_form', cityname => 'newyork');
И $link
бы в конечном итоге с /cities/newyork
.
Это тривиальные примеры, но вы можете создавать довольно сложные вещи, как только ваши маршруты станут более активными.
Если вы не указали маршрут, он получит имя по умолчанию, которое является просто конкатенацией буквенно-цифровых символов. Это может стать утомительным для длинных маршрутов, чтобы вы могли использовать имена, чтобы их сокращать.
См. Также Named Routes в документации Mojolicious.