当数据库中增加一栏命名为“type”,但这个 type 可以读出来,写进去会出错。
大家有什么好的解决方法。(除了改名字。)
这个。。。算了吧。ActiveRecord 有一些保留字段不能使用,比如 type。
覆盖 inheritance_column
@kenshin54 什么叫覆盖 inheritance_column ?
ActiveRecord 的 type 用来做单表继承,是个特殊字段,就跟 id 字段一样。
最简单还是自己换个名字,比如 post 的 type,就干脆叫 post_type。
话说 Mongoid 用的是 _type 字段,感觉更合理。不知是不是 MySQL 的字段名有限制。
#5 楼 @Rei 你这头像看着太眼熟了,太像四娘了
#6 楼 @kehao 靠,我帅多了
#3 楼 @zealinux @kenshin54 说的是这个意思:
ActiveRecord::Base.set_inheritance_column "tttype"
或者只在某个 Model 上使用:
User.set_inheritance_column "tttype"