首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写HAML自定义过滤器?

如何编写HAML自定义过滤器?
EN

Stack Overflow用户
提问于 2009-12-17 21:26:51
回答 1查看 2.3K关注 0票数 6

我已经写了一个简单的custom filter in HAML,但我无法让我的Rails应用程序找到它。

过滤器看起来像这样:

代码语言:javascript
复制
# lib/haml/filters/gfmarkdown.rb
module Haml::Filters::Gfmarkdown
  include Haml::Filters::Base

  # copied from Haml::Filters::Markdown
  lazy_require 'rdiscount', 'peg_markdown', 'maruku', 'bluecloth'

  def render(text)
    # copied from Haml::Filters::Markdown
    engine = case @required
             when 'rdiscount'
               ::RDiscount
             when 'peg_markdown'
               ::PEGMarkdown
             when 'maruku'
               ::Maruku
             when 'bluecloth'
               ::BlueCloth
             end
    engine.new(gfm text).to_html  # gfm method defined elsewhere
  end
end

在我看来,我试着像这样使用这个过滤器:

代码语言:javascript
复制
:gfmarkdown
  #{comment.body}

但是我得到了这个错误消息:Filter "gfmarkdown" is not defined.

你知道如何让我的Rails应用程序选择我的过滤器吗?

版本: Rails 2.3.4,Haml 2.2.15。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-17 23:52:39

我已经找到了解决方案:添加一个需要过滤器的初始化器。

代码语言:javascript
复制
# config/initializers/gfmarkdown.rb
require 'haml/filters/gfmarkdown'

我曾认为,如果模块层次结构与文件路径匹配,则lib/中的模块是自动必需的。哦,好吧;)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1921777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档