2014-09-26 37 views
0
module MyFilter 
    def all_caps(input) 
    input.upcase 
    end 
end 

Liquid::Template.register_filter(MyFilter) 

template = Liquid::Template.parse(" {{ 'hi john' | all_caps }} ") 
template.render 
# => " HI JOHN " 

template = Liquid::Template.parse(" {{ 'hi {{name}}' | all_caps }} ") 
template.render('name' => 'john') 
# => " ' | all_caps }} " 

我該如何解決這個問題?官方文件中沒有提及。如何在液體過濾器參數下訪問變量?

注意:爲簡單起見,我使用了all_caps示例。我想實現一些複雜的事情。

回答

0

我想出了一種方法來做到這一點。如果有其他解決方案,我們將不勝感激。

template = Liquid::Template.parse("{% capture some_text %} Hi, {{name}} {% endcapture %} {{ some_text | all_caps }}") 
template.render('name' => 'john') 

希望這會有所幫助。

相關問題