我正在使用液体模板,但无法弄清楚如何渲染嵌套变量。这是一个例子,我希望打印用户的名字,但事实并非如此。用户对象是ActiveRecord :: Base对象,其属性为first_name
。用户对象需要有一个#to_liquid
方法,但我无法弄清楚它应该包含哪些内容(尝试哈希,设置实例变量和结构)。
user = User.find(1)
template = Liquid::Template.parse('Hello {{ user.first_name }}!')
template.render('user' => user)
#=> "Hello !"
用户模型我最好的选择:
class User < ActiveRecord::Base
...
def to_liquid
{ email: email }
end
...
end
答案 0 :(得分:0)
试试这个
class User < ActiveRecord::Base
#variables you want to expose for liquid template
liquid_methods :email, :first_name
...
end