Template Toolkit怎样传递undef值

在Catalyst中,想用Catalyst::Request中的uri_with方法来去除uri中的某个参数,按理说在模板中应该用:

[% c.req.uri_with({one_param => undef}) %]

这样就可以去除uri中one_param这个参数,结果uri变成了:

http://xxx?foo=bar&one_param=

one_param并没有去掉,通过debug发现Template Toolkit把undef值当""了。

可以这样:

[% c.req.uri_with({one_param => []}) %]

这篇文章: 有用 无用