On 04/01/2009, at 10:47 PM, Trevor Phillips wrote:

On Sun, Jan 4, 2009 at 7:48 PM, Tomas Doran <[email protected]> wrote:

Just use a stash key to indicate that you have served a file yourself to stop calling TT.. e.g.

sub serve_stuff : Local {
  my ( $self, $c ) = @_;
  $c->serve_static_file('some_file');
  $c->stash->{file_output} = 1;
}

sub end : Private {
  my ( $self, $c ) = @_;
  $c->detach('render') unless $c->stash->{file_output};
}

sub render : ActionClass('RenderView') {}

That sort of worked! It definitely turned off the template - but I was
getting no file output still, which agrees with what Nickolay said.

I stripped down my download action to the bare minimum and did get it
working - the problem was that I was using :Path :Args to define the
matching path. When I changed to using Local, it worked correctly.

Why should it matter to serve_static_file if I specify :Path :Args or
use Local? The routine was definitely being called either way - just
the file output wasn't working.


Sounds like this might be a bug. Can you provide a minimal app as a test case demonstrating the problem?



_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to