gpt4 book ai didi

ruby - 液体标准默认过滤器不显示默认值

转载 作者:数据小太阳 更新时间:2023-10-29 07:55:56 25 4
gpt4 key购买 nike

给定以下代码:

content = "Hello {{name | default: 'Friend'}}"
Liquid::Template.parse(content).render('name' => '')

上面的代码应该输出 Hello Friend 但它显示的是 Hello

最佳答案

默认过滤器,同时it is in master , 尚未在 gem 中发布(2.6.1 是撰写本文时最新的 gem)。 Liquid 在看到未知过滤器时的行为似乎是忽略它并返回未更改的字符串而不报告错误。

您可以使用当前的 master 来获取 default 过滤器,如果您使用的是 Bundler,这会很容易,但您可能不想使用未发布的代码。否则,您可以将它复制到您的代码中,直到发布包含它的版本:

module MyFilters
def default(input, default_value = "")
is_blank = input.respond_to?(:empty?) ? input.empty? : !input
is_blank ? default_value : input
end
end

Liquid::Template.register_filter(MyFilters)

content = "Hello {{name | default: 'Friend'}}"
Liquid::Template.parse(content).render("name" => '')
# => "Hello Friend"

关于ruby - 液体标准默认过滤器不显示默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275239/

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