Ruby attr_accessor(1为0)

时间:2014-09-25 20:38:28

标签: ruby class attributes

我正在尝试做类属性,这就是我所拥有的:

class Base
  class << self
    attr_accessor :coll
  end
end

class Post < Base
  coll :posts
end

我收到错误:wrong number of arguments (1 for 0)

任何人都知道这里发生了什么?

1 个答案:

答案 0 :(得分:1)

你准备做什么? attr_accessor在你的例子中创建了2个方法:Base.coll和Base.coll =,所以这样的东西可以工作:

class Base
  class << self
    attr_accessor :coll
  end
end

class Post < Base
  self.coll = :posts
  puts coll.inspect #=> :posts
end