【发布时间】:2011-02-28 22:25:41
【问题描述】:
我正在使用Jekyll 创建一个新博客。它在下面使用Liquid。
Jekyll 定义了某些“变量”:site、content、page、post 和 paginator。这些“变量”有几个“成员”。例如,post.date 将返回帖子的日期,而post.url 将返回其网址。
我的问题是:我可以使用另一个变量作为成员名来访问一个变量的成员吗?
请看下面的例子:
{% if my_condition %}
{% assign name = 'date' %}
{% else %}
{% assign name = 'url' %}
{% endif %}
我有一个名为name 的变量,它可以是'date' 或'url'。
如何在 ruby 中制作相当于 post[name] 的液体?
我发现的唯一方法是使用for 循环遍历post 的所有对(键值)。谨防!太可怕了:
{% for property in post %}
{% if property[0] == name %}
{{ property[1] }}
{% endif %}
{% endfor %}
啊!希望有更好的办法。
谢谢。
【问题讨论】:
标签: ruby templates liquid jekyll