Rails - 初始化对象实例变量

Rails - initialize object instance variable

我有两个数组,我想在我的 Prediction 模型对象中将其初始化为 []

如果我尝试:

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

然后数组不会被实例化。

如何在不改变任何其他内容的情况下在构造对象时实例化数组?

因为我在这里看到一个括号Prediction.new(我推断你试图传递参数。

但是你的 initialize 不接受任何 => boom


等等,它是 ActiveRecord 模型吗?

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

 after_initialize :set_arrays

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

也可能使用 attr_accessor,但不知道您期望什么