将实例变量初始化为数组-Ruby
我尝试将变量初始化为数组,如下所示:将实例变量初始化为数组-Ruby,ruby,ruby-on-rails-3.1,initialization,instance-variables,Ruby,Ruby On Rails 3.1,Initialization,Instance Variables,我尝试将变量初始化为数组,如下所示: class Arch < ActiveRecord::Base attr_accessor :name1 def initialize @name1 = [] end def add_name1(t) @name1 << t end end class-Arch
class Arch < ActiveRecord::Base
attr_accessor :name1
def initialize
@name1 = []
end
def add_name1(t)
@name1 << t
end
end
class-Arch @name1您正在覆盖ActiveRecord::Base
的initialize
方法。创建类的新实例时,只调用initilize。ActiveRecord::Base
将创建的所有实例变量都未初始化,并且#inspect
失败。为了解决这个问题,您需要调用基类的构造函数(使用super
)
class-Arch @name1您正在覆盖ActiveRecord的initialize
方法。尝试使用super
:
def initialize(*args, &block)
super
@name1 = []
end
class Arch < ActiveRecord::Base
attr_accessor :name1
def initialize
super
@name1 = []
end
def add_name1(t)
@name1 << t
end
end
def initialize(*args, &block)
super
@name1 = []
end