Я использую Jekyll для создания нового блога.Он использует Liquid внизу.
Jekyll определяет определенные «переменные»: site
, content
, page
, post
и paginator
.Эти «переменные» имеют несколько «членов».Например, post.date
вернет дату публикации, а post.url
вернет ее URL.
Мой вопрос: могу ли я получить доступ к члену переменной, используя другую переменную в качестве имени члена?
См. Следующий пример:
{% if my_condition %}
{% assign name = 'date' %}
{% else %}
{% assign name = 'url' %}
{% endif %}
У меня есть переменная с именем name
, которая имеет значение 'date'
или 'url'
.
Как я могу сделать жидкий эквивалент post[name]
в рубине?
Единственный способ, который я нашел, - это использовать цикл for
для перебора всех пар (ключ-значение)post
.Осторожно!Это довольно ужасно:
{% for property in post %}
{% if property[0] == name %}
{{ property[1] }}
{% endif %}
{% endfor %}
Ммм!Я надеюсь, что есть лучший способ.
Спасибо.