haml 中的 If 子句使用来自 mustache 的变量
If clause in haml using variable from mustache
类似的问题,我想在haml文件中使用if子句,具体只在实际有图像url时才显示图像。代码是
%div{ :class => "attachment {{ attachment_type }}" }
%a{ :href => "{{ attachment_url }}", :target=> "_blank"}
%img.image{ :src => "{{ attachment_pic_url }
我正在尝试类似的东西:
:plain
<%if {{attachment_pic_url}}.present? %>
<% { %>
<img class="image" src="{{ attachment_pic_url}}" %> %>"/>
<% } %>
但它抱怨 'Unclosed tag'。知道这个问题吗?或者有更好的方法吗?
Mustache
是无逻辑的,因为没有 if 语句。
我们可以改用标签。
你的情况 -
{{#attachment_pic_url}}
%a{ :href => "{{ attachment_url }}", :target=> "_blank"}
%img.image{ :src => "{{ attachment_pic_url }}" }
{{/attachment_pic_url}}
如果attachment_key_url键不存在,或存在且值为null、undefined、false、0或NaN,或者是空字符串或空列表,则该块不会渲染。
参考https://github.com/janl/mustache.js#false-values-or-empty-lists.
类似
%div{ :class => "attachment {{ attachment_type }}" }
%a{ :href => "{{ attachment_url }}", :target=> "_blank"}
%img.image{ :src => "{{ attachment_pic_url }
我正在尝试类似的东西:
:plain
<%if {{attachment_pic_url}}.present? %>
<% { %>
<img class="image" src="{{ attachment_pic_url}}" %> %>"/>
<% } %>
但它抱怨 'Unclosed tag'。知道这个问题吗?或者有更好的方法吗?
Mustache
是无逻辑的,因为没有 if 语句。
我们可以改用标签。
你的情况 -
{{#attachment_pic_url}}
%a{ :href => "{{ attachment_url }}", :target=> "_blank"}
%img.image{ :src => "{{ attachment_pic_url }}" }
{{/attachment_pic_url}}
如果attachment_key_url键不存在,或存在且值为null、undefined、false、0或NaN,或者是空字符串或空列表,则该块不会渲染。
参考https://github.com/janl/mustache.js#false-values-or-empty-lists.