ruby-on-rails-3 – 使用Liquid变量内的液体标签调用

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 使用Liquid变量内的液体标签调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在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

猜你在找的Ruby相关文章