2009-12-17 8 views
6

나는 간단하게 custom filter in HAML을 작성했지만 레일즈 앱으로 찾을 수 없습니다. 내보기에HAML 사용자 정의 필터를 작성하는 방법은 무엇입니까?

# 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 

, 나는 그래서 같은이 필터를 사용하려고 :

필터는 다음과 같습니다

:gfmarkdown 
    #{comment.body} 

을하지만이 오류 메시지가 얻을 : Filter "gfmarkdown" is not defined.

하나를 아이디어를 내 레일 애플 리케이션을 내 필터를 데리러 얻을 수있는 방법?

버전 : Rails 2.3.4, Haml 2.2.15.

답변

3

해결책을 찾았습니다. 필터가 필요한 이니셜 라이저를 추가하십시오.

# config/initializers/gfmarkdown.rb 
require 'haml/filters/gfmarkdown' 

내가 모듈 계층 구조 파일 경로를 일치하는 경우 lib/ 모듈이 자동으로 필요한 있다고 생각했다. 오 잘.)

관련 문제