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. -- Trevor Phillips - http://dortamur.livejournal.com/ "On nights such as this, evil deeds are done. And good deeds, of course. But mostly evil, on the whole." -- (Terry Pratchett, Wyrd Sisters) _______________________________________________ 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/
