[Catalyst] Re: proper flow control with $c->foward, in search of greater grok

Dennis Daupert ddaupert at gmail.com
Sun Jan 24 17:04:31 GMT 2010


My apologies...My day job heated up considerably the past couple weeks....

On Mon, Jan 11, 2010 at 4:00 AM, Aristotle Pagaltzis <pagaltzis at gmx.de>wrot=
e:

>
> Uhm, you know that `qw` does not interpolate, right? So that line
> will assign the literal strings '$user_id' and '$blog_id' into
> @args, not the contents of the variables $user_id and $blog_id.
> That would be why your IDs are invalid=85 just basic Perl stuff,
> nothing to do with Catalyst.
>
> Yes, you are right of course. My bad. I tried a list of trial-and-error
attempts, and didn't notice that in *some* of them I stuck in the
non-interpolating qw.But, there still *may* be a Catalyst problem. See
below.

The square brackets in the POD (which I think they are a really
> bad stylistic choice there) mean that these arguments are
> optional, not that you should pass those parameters inside an
> anonymous array.


I hadn't realized that, I appreciate you're pointing that out.


> I think you are looking for
>
>    my @caps =3D ( $user_id, $blog_id );
>    $c->go( '/user/blog/entry/list', \@caps );
>
> or just
>
>    $c->go( '/user/blog/entry/list', [ $user_id, $blog_id ] );
>
> Neither of these formats works for me. I'm getting exactly the same
behavior as I got previously. I see all the correct body parameters being
passed, but the $user_id isn't being recognized in the first leg of the
chain. However, the uri_for_action format does work:

$c->response->redirect($c->uri_for_action('/user/blog/entry/list',
[$user_id, $blog_id]));


/d
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20100124/9ab7b=
3f6/attachment.htm


More information about the Catalyst mailing list