4

コントローラー クラスに含めるモジュールがいくつかあります。これらのモジュールは以下を定義しますbefore_filter:

module BasicFeatures
  def filter_method
    ...
  end
  def self.included(base)
    base.before_filter(:filter_method)
    ...
  end
end

module AdvancedFeatures
  include BasicFeatures
  ...
end

そしてクラス:

class BasicController < ApplicationController
    include BasicFeatures
end

class AdvancedController < ApplicationController
    include AdvancedFeatures
end
  1. BasicFeaturesモジュールがモジュールに含まれている場合、その中にメソッドAdvancedFeaturesはありません。before_filter
  2. 電話に出AdvancedControllerませんでした。before_filter

before_filterコードを複製せずに を取得するには、両方のコントローラーが必要です。私が最善のアプローチを使用しているかどうかわからないので、どんな提案も受け付けています。

4

2 に答える 2