液体模板中的嵌套变量无法渲染。 to_liquid?

时间:2014-12-09 17:58:44

标签: liquid

我正在使用液体模板,但无法弄清楚如何渲染嵌套变量。这是一个例子,我希望打印用户的名字,但事实并非如此。用户对象是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

1 个答案:

答案 0 :(得分:0)

试试这个

class User < ActiveRecord::Base

 #variables you want to expose for liquid template
 liquid_methods :email, :first_name
 ...
end