[Catalyst-commits] r11797 - Catalyst-View-TT/branches/render_die/lib/Catalyst/View

osfameron at dev.catalyst.perl.org osfameron at dev.catalyst.perl.org
Wed Nov 11 10:58:25 GMT 2009


Author: osfameron
Date: 2009-11-11 10:58:24 +0000 (Wed, 11 Nov 2009)
New Revision: 11797

Modified:
   Catalyst-View-TT/branches/render_die/lib/Catalyst/View/TT.pm
Log:
Clarify docs for 'sub end' to promote RenderView

(Previously, the docs suggested doing something that would break
$c->res->redirect)

Modified: Catalyst-View-TT/branches/render_die/lib/Catalyst/View/TT.pm
===================================================================
--- Catalyst-View-TT/branches/render_die/lib/Catalyst/View/TT.pm	2009-11-11 00:37:48 UTC (rev 11796)
+++ Catalyst-View-TT/branches/render_die/lib/Catalyst/View/TT.pm	2009-11-11 10:58:24 UTC (rev 11797)
@@ -300,6 +300,38 @@
         $c->forward( $c->view('TT') );
     }
 
+But if you are using the standard auto-generated end action, you don't even need
+to do this!
+
+    # in MyApp::Controller::Root
+    sub end : ActionClass('RenderView') {} # no need to change this line
+
+    # in MyApp.pm
+    __PACKAGE__->config(
+        ...
+        default_view => 'TT',
+    );
+
+This will Just Work.  And it has the advantages that:
+
+=over 4
+
+=item *
+
+If you want to use a different view for a given request, just set 
+<< $c->stash->{current_view} >>.  (See L<Catalyst>'s C<< $c->view >> method
+for details.
+
+=item *
+
+<< $c->res->redirect >> is handled by default.  If you just forward to 
+C<View::TT> in your C<end> routine, you could break this by sending additional
+content.
+
+=back
+
+See L<Catalyst::Action::RenderView> for more details.
+
 =head2 CONFIGURATION
 
 There are a three different ways to configure your view class.  The




More information about the Catalyst-commits mailing list