gpt4 book ai didi

ruby - Liquid 模板在自定义 block 中获取 token

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:52 24 4
gpt4 key购买 nike

我正在尝试使用 Liquid Templating 构建自定义 block .以下是我的代码:

module MyModule
module Blocks
class MyBlock < Liquid::Block

def initialize(tag, markup, tokens)
super
@tag = tag
@tokens = tokens
@markup = markup
end

def render(context)
p @tokens
end

end
end
end

Liquid::Template.register_tag('myblock', MyModule::Blocks::MyBlock)

在我的模板中,我有以下代码:

{% for i in mypages %}
{% myblock %} {{ i.title }} {% endmyblock %}
{% endfor %}

我的问题是如何获取在 myblock 标签之间传递的所有内容。即,如何使 i.title 可用于 myblockrender 函数。我以为 tokens 捕获了这个,但是当我 puts tokens 它输出 []

谢谢

最佳答案

Liquid::Blockrender 方法返回开始和结束标记之间的文本。所以只需将您的渲染方法更改为:

def render(context)
p super
end

关于ruby - Liquid 模板在自定义 block 中获取 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com