2015-05-15 120 views
1

我有两个数组,我想在我的Prediction模型的对象中初始化为[]Rails - 初始化对象实例变量

如果我尝试:

def initialize 
    @first_estimation = [] 
    @last_estimation = [] 
end 

然后我的很多单元测试失败。

Failure/Error: assign(:prediction, Prediction.new(
    ArgumentError: 
     wrong number of arguments (1 for 0) 

但是,如果我尝试:

def after_initialize 
    @first_estimation = [] 
    @last_estimation = [] 
end 

那么阵列不实例化。

如何在构造对象时实例化数组而不改变其他任何东西?

回答

5

因为我在这里看到括号Prediction.new(我推断你尝试通过params。

但是你initialize犯规接受任何=>热潮


别急,它是一个ActiveRecord模型?

如果是这样,你必须使用:

after_initialize :set_arrays 

def set_arrays 
    @first_estimation = [] 
    @last_estimation = [] 
end 

,也许使用attr_accessor过,但不知道你的期望

相关问题