液体语法错误:标记未使用regexp正确终止:/ \%\} /

问题描述 投票:0回答:1

我这样的液体模板中存在if条件

Username: {{user.email}}
{% if extras['password_to_be_sent'] %}
Password: {{extras['password_to_be_sent']}}
{% endif %}
Trial expiration: {{user.trial_expiration}}

但是,如果if条件不等于true,这会产生换行符>

所以上面生成的输出是这样的

Username: Abc

Trail Expiration: 2019-11-10

if条件不等于true时,我想删除附加的换行符>

我尝试按照此处-的建议添加https://shopify.github.io/liquid/basics/whitespace/

因此将代码更新为

Username: {{user.email}}
{%- if extras['password_to_be_sent'] -%}
Password: {{extras['password_to_be_sent']}}
{%- endif -%}
Trial expiration: {{user.trial_expiration}}

但是这给出了例外Liquid::SyntaxError (Liquid syntax error: Tag '{%- if extras['password_to_be_sent'] -%}' was not properly terminated with regexp: /\%\}/)

此外,如果有帮助,我会将模板代码保存在数据库中。

在此方面的任何帮助将不胜感激。谢谢。

我在这样的液体模板中有一个if条件,例如该用户名:{{user.email}} {%if extras ['password_to_be_sent']%}密码:{{extras ['password_to_be_sent']}} {%endif% }试用期满:{{...

ruby ruby-on-rails-5 liquid
1个回答
0
投票

您是否检查以确保extras['password_to_be_sent']不会返回真实但空的字符串?也许应该是:

Username: {{user.email}}
{%- if extras['password_to_be_sent'].present? -%}
Password: {{extras['password_to_be_sent']}}
{%- endif -%}
Trial expiration: {{user.trial_expiration}}
© www.soinside.com 2019 - 2024. All rights reserved.