如何调用类之外的方法

时间:2011-06-04 06:25:15

标签: ruby-on-rails ruby

如何在课堂外拨打myfuncmyotherfunc

class Accounting::Invoice < ActiveRecord::Base
  def myfunc
    return true
  end

  class << self
    def myotherfunc
      return false
    end
  end
end

1 个答案:

答案 0 :(得分:8)

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/