mojolicious
以下のようにルートに名前をつけることが出来ます。 # Mojolicious::Liteの場合 get '/hoge/detail/:id' => sub { ... } => 'hoge/detail'; # Mojoliciousの場合 $r->get('/hoge/detail/:id')->to('hoge#detail')->name('hoge/detail'); このようにしておく…
NotFoundページを表示するだけなら「$self->render_not_found」を使う。 表示以外の処理を書きたい場合は、after_dispatchフックを使う。 $self->hook(after_dispatch => sub { my $c = shift; if ($c->res->code eq '404') { # HogeHoge return $c->render_…
Test::Mojoないで使われているMojo::UserAgentのnameを変更する。 $t->ua->name('Test UserAgent');
Mojo::Uploadのmove_toの実態は、メンバ変数のassetのmove_toに委譲しています。 sub move_to { my $self = shift; $self->asset->move_to(@_); return $self; } このassetは「Mojo::Asset::Memory」か「Mojo::Asset::File」のインスタンスが入ります。 どち…
$self->req->url->to_absを使う。 say $req->url->to_abs->userinfo; say $req->url->to_abs->host; say $req->url->to_abs->path; Mojo::Message::Request - HTTP request - metacpan.org
submitボタンを大体エミュレートしてpost_form_okに値を渡したい時に、以下のようにした。 $t->get_ok('/form'); my $res = $t->tx->res; my $first = $res->dom->find('form')->first; my %values; $first->find('input')->each( sub { my ($e) = @_; if ( …
要するに、同じ名前のフィールドに複数の値を設定する場合は、以下のように配列リファレンスで渡す。 $t->post_form_ok('/', { chkbox => ['1', '2'] });
次のようなURLをurl_forを使用しているときに作成したい場合。 /entry/edit?id=1 以下のように書きます。 $self->url_for('entry/edit')->clone->query(id => 1)
次のふたつのURLで同じロジックを実行したい場合。 /entry /entry/20101111 このような場合、デフォルト値をundefに設定するようにします。 my $r = $self->routes; $r->route('/entry/:date')->to('Entry#page', { date => undef })->name('entry/page'); …
Mojoliciousで書いたアプリをバックエンドで動作させ、apache+mod_proxyをフロントエンドに置いている場合の設定メモです。 Apache + mod_proxyの設定 今回は、下記のように、パスで振り分けるように設定している場合です。 ServerName somehost.com ProxyPa…