【问题标题】:How do I access variables under liquid filter argument?如何访问液体过滤器参数下的变量?
【发布时间】:2014-09-26 13:39:46
【问题描述】:
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 示例。我想完成一些复杂的事情。

【问题讨论】:

    标签: ruby liquid


    【解决方案1】:

    我确实想出了一个方法来做到这一点。如果有其他解决方案将不胜感激。

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多