在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
這應該可能是一個新問題,可能與此鏈接。 –