我想显示三个数据库表的数量:Data
,Meta
和Type
。
所以我自然地将这些值存储起来并渲染(使用Mojolicious::Lite
)。
$c->stash(data => $count_data,
meta => $count_meta,
type => $count_type,
);
$c->render(template => 'tblcount');
结果证明,data
是隐藏项中的保留关键字。
观察到的效果是,在渲染$count_data
中的值之后,将仅显示……完全忽略了模板。也没有错误。
这很难调试(我的理智花费了大约一个小时的时间)。 另外,我确定我不是第一个误用data关键字(或其他关键字)的人。
我的问题:是否存在将具有任意名称的变量传递到模板的安全方法?还是我不得不忍受这种可能的名字冲突?
答案 0 :(得分:2)
该隐藏采用任意结构,因此您可以存储任意数据的哈希。
$c->stash(stuff => {data => $count_data, ...});
然后在模板中使用$stuff->{data}
。