たろマーク (はてなブックマーク)
-
[ django ] view を class based で書けるようになってた。
- Colorful Bokeh Effect in Pixelmator | Abduzeedo | Graphic Design Inspiration and Photoshop Tutorials
[ pixelmator ] -
[ pixelmator ]
■ Catalyst でテンプレートファイルがあったら表示するの術
スタティックな html 置くにしても、tt でモジュール化したのを上手く使いたいよねー、と言うことでちょっと考えてみた。
Root コントローラでこんな風に書くと、アクセスされた path に対応するテンプレートが /root/src/ 以下にあったら表示するようにできた。表示したいテンプレートの拡張子を .tts に限るようにしてるので、普段使ってるテンプレートが不意に見えてしまうことはないと思う。
sub default : Private {
my ( $self, $c ) = @_;
my $template = $c->req->path . '.tts';
if ( -s $c->path_to( '/root/src/' . $template ) ) {
$c->stash->{template} = $template;
return;
}
$c->res->status(404);
}
ちなみに Root#default で 404 Not Found にしてるのはこちらのアイデアをいただきました。
追記(2007-10-06T19:03:57+09:00)
id:holidays-l さんからご指摘いただきました。
$c->req->path より $c->action の方が良いとのことです。





