2014年9月6日土曜日

Amon2+Tengでviewから更新クエリを発行させない


このエントリーをはてなブックマークに追加
forで回してるときに間違ってdeleteでもしようものなら恐怖、、、なので、 MyApp::Webにrenderメソッドを定義(オーバーライド)して、そこでメソッドを無効化してます。local便利!

sub render {
    my ($c,$filename,$vars) = @_;
    ....
    no warnings 'redefine';
    local *Teng::Row::update = sub { die 'Teng::Row::update not allow in view' };
    local *Teng::Row::delete = sub { die 'Teng::Row::delete not allow in view' };
    ....
    $c->SUPER::render(...);
}

0 件のコメント:

コメントを投稿