我写一个插件杰奇,这样我可以比较的一些数据上的产品, ,我喜欢这么在我的模板可返回散列的数组:遍历数组
data = [{"current"=>"0.4mA", "power"=>"15w"}, {"current"=>"1A", "power"=>"5w"}]
但是现在,当我穿过他们使用liquid
:
<table>
{% for h in data %}
<tr>
{% for p in h %}
<td>{{ p[0] }}</td>
<td>{{ p[1] }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
我不能并排列出的属性的一面,因为我通过散列 一次一个,所以我最终他们一个在另一个之下。
我应该怎么做插件来反过来准备数据,以便我能够 能够做我想要的模板?
编辑:
所以清理了一下,如何获得上述阵列结构如下使用纯Ruby?:
p1['current'] = '0.4mA'
p1['power'] = '15w'
... *may have more of these, depending on number of key:value pairs in the hash
p1['...'] = '...'
p2['current'] = '1A'
p2['power'] = '5w'
... *may have more of these, depending on number of key:value pairs in the hash
p2['...'] = '...'
但是我会为键的任意名称和它们的可变数量,所以如何映射这些? – branquito
我解决了使用'data [0] .keys.to_a'而不是硬编码值,因为它们在两个哈希中总是相同的,因为它们是在其公共密钥上的其他两个产品哈希的交集。 – branquito
我刚刚更新了我的答案,以及替代解决方案,如果您的未来数据集有一些值丢失键 –