Имя маршрута позволяет ссылаться на него позже, если вы хотите динамически генерировать 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
.
Это тривиальные примеры, но вы можете создавать довольно сложные вещи, когда ваши маршруты становятся более сложными.
Если вы не назовете маршрут, он получит имя по умолчанию, которое представляет собой просто конкатенацию буквенно-цифровых символов в нем. Это может быть утомительно для длинных маршрутов, поэтому вы можете использовать имена для их сокращения.
См. также Именованные маршруты в документации Mojolicious.
person
friedo
schedule
15.02.2013