6

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

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

这就是我迷路的地方。我似乎无法在文档或其他任何在线的地方找到它使用的任何例子。

顺便说一句,我还不了解 Ruby,所以我也不清楚源代码

过滤器测试看来,下面应该会产生一些东西,但是在 GitHub 上,我什么也没得到:

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

我希望我应该得到类似的东西:

My First Blog Post, Yet Another Post, and Third Posts
4

1 回答 1

9

我能够以这种方式做你想做的事:

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

解释:

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

于 2011-04-22T17:34:50.730 回答