2011-01-08 104 views
4

Rails的型號都具有一定內置的方法是這樣的:延伸的軌道模型

Appointment.new 
Appointment.find(1) 

如何增加更多的方法來Appointment?這顯然不是通過向app/models/appointment.rb添加方法來完成的。這樣做會增加實例Appointment的方法,但我想將方法​​添加到Appointment本身。我怎麼做?

+2

順便說一句,你要尋找的術語是「類方法」(而不是「實例方法」)。 – ryeguy 2011-01-08 21:49:40

+0

好的,謝謝。我想知道那是什麼。 – 2011-01-09 00:54:03

+0

`MyClass.new`是你如何啓動一個標準的Ruby類實例btw,它與Rails無關。 – 2011-01-09 02:23:04

回答

12
def self.some_method 
    #do stuff 
end 
3

馬克的答案肯定是正確的,但你也將看到下面的語法定義類方法時:

class Appointment 
    class << self 
    def method1 
     # stuff 
    end 

    def method2 
     # stuff 
    end 

    def method3 
     # stuff 
    end 
    end 
end