Rails 继承 Model 的类不能重新定义 initialize 方法吗?

zouyu · 2018年05月28日 · 最后由 cysh 回复于 2018年05月28日 · 1633 次阅读

Category 是一个 model

class C1 < Category
   def initialize
   end
end
C1.new报如下错误

initialize 是特殊方法,需要加 super

zouyu 关闭了讨论。 05月28日 11:18
zouyu 重新开启了讨论。 05月28日 11:18

查了一下 ActiveRecord 不支持在 model 中 override initialize 方法。有大佬知道详细信息吗?

https://ruby-china.org/topics/23523

不要 override initialize 方法,很多 ar 的对象不是 new 出来的。如果非要有什么想在 initialize 的时候做的事情,可以使用 after_initialize

....我是直接重新定义了 self.new 方法,这样做 create 也会调用它

需要 登录 后方可回复, 如果你还没有账号请 注册新账号