我从数据库中提取了一些看起来如下的记录,并分配了一个名为users
的变量
[#
<User id: 53433, first_name: "Héctor", last_name: "Pinzon">,
<User id: 53434, first_name: "Héctor 2", last_name: "Pinzon 2">,
]
在液体中我想通过循环
迭代它们{% for user in users %}
{{ user.first_name }}
{% endfor %}
当我收到first_name
应该出现的电子邮件时,它会打印出来
Liquid error: internal
Liquid error: internal
我在这里做错了什么?为什么users
的数据没有出现?
答案 0 :(得分:2)
如果您将users
传递给流动模板,则需要将其更改为users.map(&:attributes)
以使其格式正确,我们无法通过users
对象。进行此更改后,以下循环将使数据正常。
{% for user in users %}
{{user.first_name }} {{user.last_name }}
{% endfor %}
答案 1 :(得分:0)
您可以将一组对象传递给Liquid,但不能传递另一种类型的集合,例如ActiveRecord::Relation
。
如果是这种情况,users.to_a
应该有效。