Perlゼミ

  1. Perl
  2. Mojolicious

複数のコントローラーで共通に必要な値を渡す / Mojolicious

グローバルに値を設定するのであればdefaultsメソッドを使うことができます。けれども、ときには複数のコントローラーだけで、値を利用したいという場合があると思います。

そのような場合は次のようなテクニックを使います。

my $r = $app->routes->to(val => $val);

# 後は同じ
$r->get('/foo');
$r->get('/bar');

ルーターを取得するときにtoを使うところがポイントです。toメソッドは、通常はコントローラーとアクションの組み合わせを書くのに利用するのですが、実は、コントローラーのデフォルト値を設定することもできます。

このようにすればコントローラー側で、設定した値を利用することができます。

# コントローラー内
my $val = $c->stash('val');
Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「こっ、こしゃくな。
このPerオタクめ~!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!