[Jifty-commit] r2225 - jifty/trunk/lib/Jifty/Manual
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Thu Nov 30 06:46:12 EST 2006
Author: agentz
Date: Thu Nov 30 06:45:26 2006
New Revision: 2225
Modified:
jifty/trunk/lib/Jifty/Manual/Actions.pod
Log:
[Manual/Actions.pod]
added more explanation for the "return values" of
Actions. (I *did* search for this bit very very hard. :))
but there's still some hand-waving parts such
as how to preserve states across links.
Modified: jifty/trunk/lib/Jifty/Manual/Actions.pod
==============================================================================
--- jifty/trunk/lib/Jifty/Manual/Actions.pod (original)
+++ jifty/trunk/lib/Jifty/Manual/Actions.pod Thu Nov 30 06:45:26 2006
@@ -244,8 +244,28 @@
$self->result->content( id => $new_post->id);
This information can be then used elsewhere to, for example,
-automatically redirect you to a view page for that new blog post. See
-L<Jifty::Request::Mapper> for some more information.
+automatically redirect you to a view page for that new blog post. The
+view page template may have the following piece of code in it:
+
+ <%args>
+ $id
+ </%args>
+ <%init>
+ my $result = Jifty->web->response->result('post');
+ $id = $result->content('id') if $result and !defined $id;
+ # load the record by $id and other stuff go here...
+ </%init>
+
+where C<'post'> is the moniker of your post page action. In fact, that's
+exactly how actions "return" values to other templates in your application.
+
+It should be mentioned that the response object is "per request". that is,
+it usually can't live across links. Therefore, when paging is added to your view
+page, for example, you need to either pass some data to the link as C<args>
+or explicitly tell Jifty to preserve states for you.
+
+See the source code of Jifty's Pony site and L<Jifty::Request::Mapper> for some
+more information.
=head2 USING ACTIONS
More information about the Jifty-commit
mailing list