Ruby on rails Ruby动态绑定变量作为对象
考虑以下循环Ruby on rails Ruby动态绑定变量作为对象,ruby-on-rails,ruby,shopify,Ruby On Rails,Ruby,Shopify,考虑以下循环 {% for product in collections.settings[collection_setting].products %} {{ settings[collection_setting] }} - {{ product.title }} {% endfor %} 此处设置[集合设置]等于绿色,但这不起作用。如果我有这个静态的例子,它是有效的 {% for product in collections.green.products %} {{ setti
{% for product in collections.settings[collection_setting].products %}
{{ settings[collection_setting] }} - {{ product.title }}
{% endfor %}
此处设置[集合设置]等于绿色,但这不起作用。如果我有这个静态的例子,它是有效的
{% for product in collections.green.products %}
{{ settings[collection_setting] }} - {{ product.title }}
{% endfor %}
有人能解释一下为什么会发生这种情况,以及如何解决这个问题吗
回答
对不起,浪费了你的时间。这个
工作
{% for product in collections[settings[collection_setting]].products %}
{% endfor %}
collection\u设置
似乎是一个ruby变量。因此,要让liquid template引擎对其进行评估,您需要将其放在双大括号中({{collection\u setting}}
)。collection\u setting
似乎是一个ruby变量。因此,要让liquid template engine对此进行评估,您需要将其放在双括号中({{collection\u setting}}
)。其中:
{% for product in collections.settings[collection_setting].products %}
…你确定你不是这个意思吗
{% for product in collections[collection_setting].products %}
您的非工作示例有一个。设置
,而您的工作示例没有设置。其中:
{% for product in collections.settings[collection_setting].products %}
…你确定你不是这个意思吗
{% for product in collections[collection_setting].products %}
非工作示例有一个.settings
,而工作示例没有