以下のようにルートに名前をつけることが出来ます。
# Mojolicious::Liteの場合 get '/hoge/detail/:id' => sub { ... } => 'hoge/detail'; # Mojoliciousの場合 $r->get('/hoge/detail/:id')->to('hoge#detail')->name('hoge/detail');
このようにしておくと、
url_forやredirect_toを以下のように書くことができます。
$c->url_for('hoge/detail', id => 1); # -> /hoge/detail/1 $c->redirect_to('hoge/detail', id => 2); # -> /hoge/detail/2
とても便利ですね。
また、stashにidの値がすでに入っている場合、自動的に「:id」に値が挿入されます。
warn $c->stash->{id}; # -> 1 $c->url_for('hoge/detail'); # -> /hoge/detail/1
ページャなどで、idを引き継ぐ必要がある場合に便利ですね。