加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:39:25 所属栏目:百科 来源:网络整理
导读:我在Liquid中创建了一个自定义链接标签,我试图能够将液体变量传递给该标签的调用 {{ assign id = 'something' }} // this value is actual dynamic while looping through data {% link_to article: id,text: 'Click Me!' %} // my custom tag 但是,这将导致
我在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这样的参数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读