我正在使用 Octopress,它是 Jekyll 渲染我的网站的框架。我正在使用一个包含 ruby-aaws gem 的插件,允许使用亚马逊的产品标识符(asin)查询亚马逊。我想反复渲染页面的一部分,循环遍历一个 asins 列表以产生输出。到目前为止,这是我的代码:
<section>
<h1>Recent Diversions</h1>
{% for asin in ["044656432X", "0743276396", "B001YT048E"] %}
{% capture a_image %}{{ asin | amazon_medium_image }}{% endcapture %}
{% capture a_link %}{{ asin | amazon_link }}{% endcapture %}
{% capture a_authors %}{{ asin | amazon_authors }}{% endcapture %}
<p>{{ a_image }}</p>
<p>{{ a_link }} by {{ a_authors }}</p>
{% endfor %}
</section>
我的理解是 {% capture variable_name %}...{% endcaputre %} 呈现封装的内容并将结果分配给 variable_name。但是,当我生成站点时,什么都没有生成。如果我用单个 asin 替换捕获标记中的 asin 引用,则页面将正确呈现。
我应该如何正确引用捕获标签内的 asin 变量以使其工作?