我使用Liquid作为我的模板标签,用户可以从我的网站下载价格标签。
Liquid本身很好,但没有自定义过滤器工作。他们根本就没有做任何事情。
以下是一个例子:
$ {{item.primary_offer.subscription.month_price | no_decimal}},- per month
这应该导致:
$ 199,- per month.
但是过滤器不起作用,结果是:
$ 199.0,- per month.
我的过滤器文件如下所示:
module LiquidFilters
include ActionView::Helpers::NumberHelper
def no_decimal(input)
number_to_currency(input.to_f, precision: 0)
end
end
Liquid::Template.register_filter(LiquidFilters)
和我的应用程序助手呈现液体输入如下所示:
def liquidize(content, arguments)
Liquid::Template.parse(content).render(arguments, :filters => [LiquidFilters])
end
答案 0 :(得分:0)
我通过将LiquidFilters模块移动到应用程序帮助文件(在ApplicationHelper模块下)来解决了这个问题。
突然发生的一切。
我不明白为什么这会产生影响,但确实有效。如果有人能够解释这个病,那么他们的答案就会提升。 :)