我在我的应用程序中使用液体插件。
在使用像 form_for,check_box_tag 这样的 Rails 辅助方法时,我收到一个错误 form_for 未定义..
有人知道如何通过 Liquid 插件使用 rails 辅助方法吗?
最佳答案
不久前我刚刚处理这个问题 - 如果您想更好地了解扩展普通过滤器(包括您可能需要的辅助方法)需要什么,我发现这个 Railscast 非常有帮助:http://railscasts.com/episodes/118-liquid
基本上,您需要设置自己的过滤器文件并包含要使用的帮助程序模块,然后添加使用该帮助程序的方法(过滤器)。这并不难,只需一秒钟即可设置。在 Ryan 的示例中,他在 lib 中设置了一个名为 LiquidFilters 的模块,包括他想要的数字助手并将其设置为使用货币过滤器,如下所示:
# lib/liquid_filters.rb
module LiquidFilters
include ActionView::Helpers::NumberHelper
def currency(price)
number_to_currency(price)
end
end
然后你所要做的就是记住当你解析液体内容时添加 :filters => [LiquidFilters] (需要你想要使用的过滤器模块数组),它应该自动选择它。此方法还确保如果您想设置更多自定义过滤器或修改辅助过滤器,您有一个简单直观的地方来做到这一点。
关于ruby-on-rails - 液体插件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1017816/