在erb
-template,我想遍历一个YAML收集像这样的:循环遍历集合YAML,按密钥
collection:
- title: "title a"
year: 2017
- title: "title b"
year: 2017
- title: "title b"
year: 2016
- ...
在输出文件(格式为降价),我想订购逐年不同的项目和其拆分,而无需事先其中values
为年 - key
存在认识:
# 2017
* title a
* title b
# 2016
* title c
…
这能与红宝石的each do
-loop实现?
跟进
我有一个跟进的问题。下面给出的解决方案工作正常。现在,我希望能够在我的ERB模板中使用由此实现的排序/组功能。以下代码输出所需的结果。但是,如何在ERB模板中调用这种排序/组功能,以便“conferencecontribution”集合中的条目相应地排序?
(作为一个侧面说明,YAML文件还包括需要订购其他收藏品,因而它很可能意义,使这个功能?)
dataset = YAML.load_file('cv.de.yaml')
dataset['conferencecontributions'].group_by { |hash| hash['year'] }
.sort_by { |year, _| -year }
.each do |year, entries|
puts "# #{year}"
entries.each do |entry|
puts "* #{entry["title"]} #{entry["location"]}"
end
puts
end
谢谢,这工作得很好!我有一个后续问题(请参阅编辑)。 – sgosh
这应该可能是一个新问题,可能与此链接。 –