sub end : Private {
my ( $self, $c ) = @_;
- die "testing";
+ die "forced debug";
}
If you're tired of removing and adding this all the time, you
can easily add a condition. For example:
- die "Testing" if $c->params->{dump_info};
+ die "force debug" if $c->req->params->{dump_info};
=head2 Disable statistics
1;
Modify the $c->form() parameters to match your needs, and don't forget to copy
-the templates. ;)
+the templates into the template root. Can't find the templates? They were in the
+CRUD model distribution, so you can do B<look Catalyst::Model::CDBI::CRUD> from
+the CPAN shell to find them.
=head2 Single file upload with Catalyst
for my $field ( $c->req->upload ) {
+ my $upload = $c->req->upload($field);
my $filename = $upload->filename;
my $target = "/tmp/upload/$filename";
To log in a user you might use an action like this:
- sub 'login' : Local {
+ sub login : Local {
my ($self, $c) = @_;
if ($c->req->params->{username}) {
$c->session_login($c->req->params->{username},
}
}
+This action should not go in your MyApp class...if it does, it will
+conflict with the built-in method of the same name. Instead, put it
+in a Controller class.
+
$c->req->params->{username} and $c->req->params->{password} are html
form parameters from a login form. If login succeeds, then
$c->req->{user} contains the username of the authenticated user.
And this is all you need to do.
+=head2 Pass-through login (and other actions)
+
+An easy way of having assorted actions that occur during the processing of
+a request that are orthogonal to its actual purpose - logins, silent
+commands etc. Provide actions for these, but when they're required for
+something else fill e.g. a form variable __login and have a sub begin like so:
+
+sub begin : Private {
+ my ($self, $c) = @_;
+ foreach my $action (qw/login docommand foo bar whatever/) {
+ if ($c->req->params->{"__${action}"}) {
+ $c->forward($action);
+ }
+ }
+}
=head2 How to use Catalyst without mod_perl
For more information see the FastCGI documentation, the C<FCGI> module
and L<http://www.fastcgi.com/>.
+=head1 Forwarding with a parameter
+
+Sometimes you want to pass along arguments when forwarding to another
+action. This can easily be accomplished like this:
+
+ $c->req->args([qw/arg1 arg2 arg3/]);
+ $c->forward('/wherever');
+
=head1 AUTHOR
Sebastian Riedel, C<sri@oook.de>