use Tree::Simple::Visitor::FindByUID;
use attributes;
use utf8;
-use Carp qw/croak/;
+use Carp qw/croak carp/;
BEGIN { require 5.008001; }
# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.7006';
+our $VERSION = '5.7008';
sub import {
my ( $class, @arguments ) = @_;
$c->model('Foo')->do_stuff;
+Any extra arguments are directly passed to ACCEPT_CONTEXT.
+
If the name is omitted, it will look for
- a model object in $c->stash{current_model_instance}, then
- a model name in $c->stash->{current_model}, then
if $c->stash->{current_model_instance};
return $c->model( $c->stash->{current_model} )
if $c->stash->{current_model};
- return $c->model( $c->config->{default_model} )
- if $c->config->{default_model};
}
- return $c->_filter_component( $c->_comp_singular(qw/Model M/), @args );
+ return $c->model( $c->config->{default_model} )
+ if $c->config->{default_model};
+ return $c->_filter_component( $c->_comp_singular(qw/Model M/) );
}
$c->view('Foo')->do_stuff;
+Any extra arguments are directly passed to ACCEPT_CONTEXT.
+
If the name is omitted, it will look for
- a view object in $c->stash{current_view_instance}, then
- a view name in $c->stash->{current_view}, then
if $c->stash->{current_view_instance};
return $c->view( $c->stash->{current_view} )
if $c->stash->{current_view};
- return $c->view( $c->config->{default_view} )
- if $c->config->{default_view};
}
+ return $c->view( $c->config->{default_view} )
+ if $c->config->{default_view};
return $c->_filter_component( $c->_comp_singular(qw/View V/) );
}
# massage namespace, empty if absolute path
$namespace =~ s/^\/// if $namespace;
$namespace .= '/' if $namespace;
- $path ||= '';
+ $path = '' if !defined $path;
$namespace = '' if $path =~ /^\//;
$path =~ s/^\///;
$path =~ s/\?/%3F/g;
};
# join args with '/', or a blank string
- my $args = ( scalar @args ? '/' . join( '/', map {s/\?/%3F/g; $_} @args ) : '' );
- $args =~ s/^\/// unless $path;
+ my $args = ( scalar @args ? '/' . join( '/', map {
+ unless (defined) {
+ carp "uri_for called with undefined argument";
+ $_='';
+ }
+ s/\?/%3F/g; $_
+ } @args ) : '' );
+ $args =~ s/^\/// unless length $path;
my $res =
URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )
->canonical;
if ( my $location = $c->response->redirect ) {
$c->log->debug(qq/Redirecting to "$location"/) if $c->debug;
$c->response->header( Location => $location );
+
+ if ( !$c->response->body ) {
+ # Add a default body if none is already present
+ $c->response->body(
+ qq{<html><body><p>This item has moved <a href="$location">here</a>.</p></body></html>}
+ );
+ }
}
# Content-Length