2010-02-09 5 views
1

내 레일 애플리케이션에서 액체 템플릿 언어를 사용하려고 시도한 필자는 Ryan Bates의 비디오를 레일 캐스트를 통해 보았습니다. 지침을 따르지만 거의 작동하지 않습니다! 내가액체 템플릿을 파싱하지 마십시오!

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

뭔가를하려고 할 때이

hi toby 

를 얻을 수 있지만,

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

처럼 뭔가 내가 원하는 결과를 얻을하지 않습니다 때

, 나는 단지 수

hi "" 

누군가 나를 도와주세요.

답변

2

값이 해시가 아닌 경우 전달 된 개체에서 어떤 메서드를 읽을 수 있는지 액체에 알려야합니다.

This documentation page ActiveRecord를 지시하는 방법을 보여줍니다. 가장 빠른 방법은 liquid_methods 매크로를 사용하는 것입니다.

+1

이유는'parse ("Hi {{category.destroy}}")'같은 것들이 여러분의 데이터를 망치는 것을 막기 위해서입니다. – mckeed

+0

@SimoneCarletti이 링크가 만료되었습니다. 답변을 업데이트 할 수 있습니까? –

+1

@RolandStuder 업데이트 됨 –

관련 문제