Mojoliciousアプリでは、コントローラーコードに次のようなルートがあります。
/account/:id/users
ルートの/account/:id部分には、チェーンのユーザー部分に到達したときに次のデータが含まれています。
$VAR1 = {
'signup_ip' => '172.17.5.146',
'z_id' => '382C58D8-529E-11E1-BDFB-A44585CCC763',
'signup_date' => '2012-03-12T12:11:10Z',
'name' => 'Some Cool Account Name',
'users' => [
{
'user_id' => '382C67EC-529E-11E1-BDFB-A44585CCC763'
}
],
'account_id' => '382C67EC-529E-11E1-BDFB-A44585CCC763',
};
チェーンのユーザー部分では、$ self-> tx-> res-> content-> get_body_chunk(0)を使用して上記のハッシュを取得しています。
sub users {
my $self = shift;
my $user_list = from_json( $self->tx->res->content->get_body_chunk(0) );
$self->respond_to( json => $user_list->{users} );
}
私が抱えている問題は、ユーザーのarrayrefだけで応答を上書きしたいということです。上記のsubusers(){}のコードはそれを行いません。つまり、テストで結果をダンプしても、ハッシュ全体を取得しています。$ user_listはusers()で探しているarrayrefですが、上書きできません。
誰かがそれを行う方法を知っていますか?