如何在类之外调用方法

问题描述

| 在课外我该如何称呼
myfunc
myotherfunc
class Accounting::Invoice < ActiveRecord::Base
  def myfunc
    return true
  end

  class << self
    def myotherfunc
      return false
    end
  end
end
    

解决方法

        
myfunc
是实例方法,因此您首先需要一个实例,然后可以调用该函数:
invoice = Accounting::Invoice.new
invoice.myfunc
myotherfunc
是类方法,因此您可以直接在类对象上调用它:
Accounting::Invoice.myotherfunc
顺便说一句,这个答案不是特定于Rails的。它适用于任何Ruby程序。 这篇文章可能会有所帮助(我没有读完整篇文章): http://railstips.org/blog/archives/2009/05/11/class-and-instance-methods-in-ruby/