mojolicious - 在 Mojolicious 中将任意名称的变量传递给模板
问题描述
我想显示三个数据库表的计数Data
:Meta
和Type
。
所以很自然地我会隐藏这些值,并渲染它们(使用Mojolicious::Lite
)。
$c->stash(data => $count_data,
meta => $count_meta,
type => $count_type,
);
$c->render(template => 'tblcount');
事实证明,这data
是存储中的保留关键字。观察到的效果是,在渲染后只会显示 in 的值$count_data
......完全忽略模板。也没有错误。
这有点难以调试(它花了我一个小时左右的时间)。此外,我确定我不是第一个不小心误用 data 关键字(或任何其他关键字)的人。
我的问题:是否有任何安全的方法可以将具有任意名称的变量传递给模板?还是我只能忍受这种可能的名字冲突?
解决方案
存储采用任意结构,因此您可以存储任意数据的哈希。
$c->stash(stuff => {data => $count_data, ...});
然后$stuff->{data}
在模板中使用。
推荐阅读
- javascript - 将 HTML、CSS 和 JS 编译成一个 JS 文件
- r - 根据 R 中的预定比例将数据集中的个体分配到特定状态
- javascript - 更新数据库,laravel,vue js中的view_count col
- android - 如何实现 SQLITE_LIMIT_LENGTH?
- android - 我想使用 jsoup 在我的 android 应用上获取新闻
- python - 如何控制 Airflow 安装的并行性或并发性?
- typescript - 使用枚举定义接口上的键列表
- python - 下划线分隔数字的数字是什么类型?
- android - 数据库未将数据从一项活动更新到另一项活动
- docker - docker compose 不会构建