rails controller,仅在未定义受保护的方法时覆盖它们

时间:2012-10-12 19:12:31

标签: ruby-on-rails

所以我有一个从应用程序控制器继承的控制器。它定义了各种受保护的方法,以及应用程序控制器。现在,如果应用程序控制器已经定义了这些方法,我不希望它们的子类覆盖它们。我一直在尝试这个控制器中的东西,如:

class SomeController < ApplicationController

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

但是,使用Rails记录器,我仍然可以看到some_method被调用。

1 个答案:

答案 0 :(得分:0)

做了一些进一步的搜索,我能够弄清楚:),感谢这个问题的海报:How to judge whether a method has defined in a class?

class SomeController < ApplicationController

protected
  unless method_defined? "some_method"
    def some_method
    end
  end