我可以使用 Liquid 加入循环的输出吗?

Can I join the output of a loop with Liquid?

我希望输出如下内容: data-tags="[tag1, tag2, tag3]" 但相反,我得到 data-tags:[tag1tag2tag3]。我是否错误地使用了 join?

代码:

data-tags="{% for tag in subtask.tags %}{{tag.title | slugify | join ', '}}{% endfor %}">

试试这个:

data-tags="{% for tag in subtask.tags %}{{ tag.title | slugify }}{% unless forloop.last %}, {% endunless %}{% endfor %}">

如果您不需要slugify您可以这样做的标题:

{% assign tags = subtask.tags | map: title %}
<div data-tags="{{ tags | join: ', ' }}">

这是因为联接过滤器只能应用于数组而不是数组的值。