1

だから私はアプリケーションコントローラーからサブクラス化するコントローラーを持っています。さまざまな保護されたメソッドを定義し、アプリケーションコントローラーも定義します。さて、アプリケーションコントローラーがすでにそれらのメソッドを定義している場合、それらがそのサブクラスによって上書きされることを望まない。私はこのコントローラーで次のようなことを試みてきました:

class SomeController < ApplicationController

protected
  unless instance_methods.include? "some_method"
    def some_method
    end
  end

ただし、Railsロガーを使用すると、some_methodが呼び出されていることがわかります。

4

1 に答える 1

0

さらに検索を行うと、私はそれを理解することができました:)、この質問に関するポスターのおかげで、ここで:メソッドがクラスで定義されているかどうかを判断する方法は?

class SomeController < ApplicationController

protected
  unless method_defined? "some_method"
    def some_method
    end
  end
于 2012-10-12T19:22:47.963 に答える