2010-02-09 105 views
1

我试图在我的Rails应用程序中使用液体模板语言,我看过Ryan Bates的视频在轨道投下,我几乎按照说明,但它似乎并没有工作!液体模板不解析!

当我尝试像

@template = Liquid::Template.parse("Hi {{name}}") 
@template.render('name' => 'toby') 

我得到

hi toby 

,但是当我尝试类似

category = Category.first 
@template = Liquid::Template.parse("Hi {{category.name}}") 
@template.render('category' => category) 

我没有得到期望的结果,我只得到

hi "" 

有人可以帮我解决这个问题吗?

回答

2

当值不是散列时,您需要告诉流体哪些方法可以从传入的对象中读取。

This documentation page告诉你如何指示ActiveRecord。 最快的方法是使用liquid_methods宏。

+1

原因是为了防止像parse(“Hi {{category.destroy}}”)'搞乱你的数据。 – mckeed 2010-02-10 23:18:54

+0

@SimoneCarletti此链接过期了,你能否更新你的答案。 – 2017-07-26 07:31:25

+1

@RolandStuder更新 – 2017-07-28 17:36:25