1

Rails で before_filter として実行するように設計されたメソッドを含む gem があります。

before_filter :method_in_gem

アプリケーションでこの before_filter をいつ呼び出すかは、開発者次第です (つまり、どのような方法でも適用したくありません)。

コントローラーが取得できる方法でこのメソッドを公開するにはどうすればよいですか? 私は自分の方法を持っていますgem_name/lib/controllers.rb

関連する場合、私の宝石はバンドラーで作成されています。

4

1 に答える 1

1

以下を試してください

module ModuleName
  def self.included(base)
    base.extend ClassMethods
  end

  module ClassMethods
    def meth(args)
      before_filter :bf_method

      include ModuleName::InstanceMethods
    end 
  end 

  module InstanceMethods
    def bf_method
      # ...
    end 
  end 
end

次に、コントローラーにモジュールを含めるだけです

class ApplicationController < ActionController::Base
  include ModuleName
end
于 2013-02-27T14:09:25.187 に答える