ruby 在液体中有什么等价物?

ruby's any equivalent in liquid?

我想显示特定文本 if product.variants 标题 == "size" 或 "Size"

我试过这个: 更新 - 这将是正确的方法,但仍然没有发生相同的结果

{% for option in product.options %}
    {%- if option == "size" or "Size" -%}
         <p id="green-hover">Review size before adding to cart.</p>
    {% break %}
    {%- endif -%}
{% endfor %}

{% for option in product.options %}
    {%- if option contains "size" or "Size" -%}
         <p id="green-hover">Review size before adding to cart.</p>
    {% break %}
    {%- endif -%}
{% endfor %}

在ruby,我会做:

@product.options.any? { |option| option== "size" || "Size" }

至少是这样的,没有测试 - 别喷我。

我该怎么做才能检查 product.variants 标题是否等于某个字符串或值?

这似乎有效:

{% assign option_titles = product.options | join: ' ' %}
   {% if option_titles contains 'Size' %}
   <p id="green-hover">Review size before adding to cart.</p>
{% endif %}

你是对的 #any? 这里会非常有用,但 Liquid 没有那个功能。这有点笨拙,因为您想同时查找 "size" 和 "Size",但这应该可行:

{%- for option in product.options %}
  {%- if option contains "size" or option contains "Size" %}
    <p id="green-hover">Review size before adding to cart.</p>
  {% break %}
  {%- endif %}
{%- endfor %}

如果条件中有 andor,则需要将整个条件重复两次。所以 if option contains "size" or option contains "Size" 而不是 if option contains "size" or "Size".