for-loop - Liquid - if contains 语句在 for 循环中不起作用
问题描述
我在一个不起作用的循环中有一个非常基本的条件:
{% for tag in collections.all.tags %}
<li class="mb-1 ">
<a class="text-white" title="{{ tag }}" href="#">
{{ tag | handle }}
{% if canonical_url contains tag | handle %}
active
{% endif %}
</a>
</li>
{% endfor %}
现在,我tag | handle
是“躲闪”,如果我打印我的{{ canonical_url }}
我得到https://localhost:3000/collections/all/dodge
所以我的条件应该评估为真实并打印“活跃”这个词。
如果我修改我的声明,{% if canonical_url contains 'dodge' %}
它可以正常工作,但我需要它是动态的。有什么建议么?
解决方案
将句柄设置为变量,并使用变量而不是句柄进行比较。
推荐阅读
- python - 为什么我的 Python 脚本从终端运行时会导致“权限被拒绝”?
- asp.net-mvc - 用于稳定运行的 .net Mvc、Vue.js 应用程序的最低 Google Chrome 和 Microsoft Edge 版本
- macos - 使用 xargs 将日期字符串传递给日期命令失败
- docker - 在 ubuntu 20.04 上安装 Mesos 导致 makefile 问题
- ios - 我可以在 Xcode 中删除存档下的文件夹吗
- python - 使用 k 均值聚类创建肘部图
- javascript - ChartJS - 通过更改 y 轴标签来更改图表类型
- mongodb - 是否可以在使用 Spring mongoDB 的 updateMulti 之后返回更新的结果?
- python - 学习数据科学
- google-oauth - 通过 API 访问 Google 照片的长期令牌?