我有一个 hstore 列,用于在 Prawn(pdf 生成器)中构建一个表。数据将包含给定月份的记录。由于它是 hstore,因此使用的密钥可能每天都在变化,因此这需要是动态的。
我需要确定:
1 该月使用了哪些唯一键
我创建了一个助手来查找当月使用的唯一键。这些将用作列标题。
keys(@users_logs)
# this returns an array like - ["XC", "PIC", "Mountain"]
该表将显示该月的用户工作日志数据。用于测试...如果我明确调用已知的 hstore 键...数据显示正确。但是,由于它的 hstore...我不知道生产中的表列将是什么。
为了测试,我调用了已知的 hstore 键......这会为每个工作日志创建对虾表行数据。
@users_logs.map do |dutylog|
[ dutylog.properties["XC"],
dutylog.properties["PIC"],
dutylog.properties["Mountain"]
]
end
但是,因为这是 hstore ......我不知道在生产中调用什么键。所以,我需要使上述迭代动态化。
我尝试遍历每个 dutylog 条目,但没有成功,然后遍历每个唯一键并为每个键值输出一个“dutylog.properties [x]”调用......但是,这只是输出键值数组。我尝试在块中使用 send() ,但这没有帮助。
@users_logs.map do |dutylog|
[ keys(@users_logs).each { |k| dutylog.properties[k] }.join(",") ]
end
关于如何使“dutylog.properties [k]”动态化的任何想法?