究竟如何在Liquid中使用 map 过滤器?我在Jekyll中使用它。

---
my_array: [apple, banana, orage]
my_map:
  hello: world
  foo: bar
my_string: "how does this work?"
---
{{ page.my_map | map ... }}

那就是我迷路的地方。我似乎在文档中或其他任何地方都找不到此用法的任何示例。

顺便说一句,我还不了解Ruby,所以source code对我也不清楚。

filter tests看来,以下内容应该会产生一些东西,但是在GitHub上,我什么也没得到:
{{ site.posts | map: 'title' | array_to_sentence_string }}

我希望我应该得到类似的东西:
My First Blog Post, Yet Another Post, and Third Posts

最佳答案

我可以通过这种方式做你想要做的事情:

{{ site.posts | map: 'to_liquid' | map: 'title' | array_to_sentence_string }}

解释:

我认为site.posts返回的是Post实例数组,而不是返回其to_liquid版本(感觉很奇怪-可能是一个错误,应该报告它)。该类的实例不是respond_to? :title,并且由于Liquid代码会检查该实例,因此map对于所有实例均返回nil。

关于ruby - 液体模板图过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5751830/

10-11 07:11