2013-01-01 39 views
-2

所以我希望能够像这样定义一个类:红宝石:创建“attr_accessor:ARG1,:ARG2,:ARG3”功能

class MyHouse < Home 
    things :bed, :lamp, :chair 
end 

家在哪儿需要把这些“东西”中的护理一个数组,像这样:

class Home 
    attr_accessor :things 

    def things(*things) 
    @things = [] 
    things.each { |thing| @things << thing } 
    end 
end 

的问题,这是我得到:

NoMethodError: undefined method `things' for MyHouse:Class 

我知道有一种方法可以做到这一点。帮助表示赞赏,

感谢,

Pachun

回答

3

def things应该def self.things

这使得它成为一个类的方法,而不是一个实例方法。

+0

完美,谢谢! – pachun