我在Liquid中创建了一个
自定义链接标签,我试图能够将液体变量传递给该
标签的
调用
{{ assign id = 'something' }} // this value is actual dynamic while looping through data
{% link_to article: id,text: 'Click Me!' %} // my custom tag
但是,这将导致article参数以“id”而不是“something”的形式传递,就像上面的assign语句一样.
有谁知道如何将变量传递给标签调用?
我最近通过传递变量的
名称作为
标签参数,非常简单地
解决了Jekyll 0.11.2和Liquid 2.3.0.
{% assign v = 'art' %}
{% link_to_article v %}
您也可以在循环中传递控件var的名称,如上面的文章.
在Liquid :: Tag.initialize中,@markup是第二个参数,标记名后面的字符串.分配的变量在上下文的顶层可用.
def render(context)
"/#{context[@markup.strip]}/"
end
这显然只允许一个参数通过.一个更复杂的解决方案将解析像x:2,y:3这样的参数.
原文链接:https://www.f2er.com/ruby/271602.html