2

という名前のファイルに入れる単純な Rack モジュールを作成しましたrack_gist.rbconfig.ruファイルのどこかで、use Rack::Gistそのモジュールを呼び出すために使用します。私はモジュールが機能することを知っており、適切な場所に配置されていることを知っています。ファイルの先頭にuse Rack::Gistあるコードを配置すると、すべてが完全に機能するからです。rack_gist.rbconfig.ru

Rails 3.2.2 を使用しています。モジュールのコードをファイルに分けたいので、rack_gist.rbファイルに行を追加しました。私の質問は、ファイルをどこに置くべきですか? どこでも何かを要求する必要がありますか?config.middleware.use Rack::Gistconfig/application.rbrack_gist.rb

明確にするために、これが私のモジュールです

   module Rack
      class Gist
        def initialize(app)
          @app = app
        end
        def call(env)
          status, @headers, response = @app.call(env)
          if html?
            #do something I don't want to bother you with
          end
          [status, @headers, response]
        end
        private
        def html?
          @headers["Content-Type"].include? "text/html"
        end
      end
    end
4

1 に答える 1

1

私見、これはあなたができることです。コードを lib ディレクトリに配置しますlib/rack_gist.rb

初期化子に lib 初期化子を追加

#config/initializers/lib_loader.rb
Dir[File.expand_path(File.join(Rails.root.to_s,'lib','*.rb'))].each {|f| require f}

そして、モジュールを構成に追加できるようにする必要があります。

于 2012-04-08T17:00:21.017 に答える