如何在 Rails 中的同一模型中调用 self class 方法?

How to call self class method inside the same model in Rails?

我正在尝试像 this post 中描述的那样进行验证跳过。整个取消过程对我有用,但我对这种语法有疑问:

class User < ActiveRecord::Base
    # [...]
    remove_email_uniq_validation

    def self.remove_email_uniq_validation
        # do something
    end
    # [...]
end

得到:

[...] gems/activerecord-4.1.8/lib/active_record/dynamic_matchers.rb:26:in `method_missing': undefined local variable or method `remove_email_uniq_validation' for User (call 'User.connection' to establish a connection):Class (NameError)

关于 Gistflow 中的示例,我做错了什么?在模型中直接调用这样的方法的正确方法是什么 class?

感谢您的回答

该方法在您尝试调用时不存在。把 def 移到 call 前面就可以了。