如何在 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 前面就可以了。
我正在尝试像 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 前面就可以了。