ルモーリン
ホーム 更新 Perl Sample ランドナー サービス 雑談 コースガイド 鉄ゲタ 自転車 Linux リンク 連絡先

Mojoliciousでコントローラーを使わずに描画する方法

2019-08-11

テンプレートの処理で足りるとき

Mojoliciousのテンプレートでは、行の頭に%を付けてPerlのコードを書けます。 特にコントローラーが大した処理をせずにテンプレートへ渡す場合は、却ってコントローラーを書くのが面倒です。

ルーターの設定でコントローラーを指定しないでテンプレートを呼ぶ

大抵はルーターの設定でコントローラーを指定します。 こんなの。

$r->get("/")->to("top#index");

そして、コントローラーがテンプレートを指定して描画します。

$self->render("top");

コントローラーを省略してルーターでテンプレートを指定するとこうなります。

$r->get("/")->to(cb => sub {
	my $c = shift;
	$c->render("top");
}