新手问题 一个 Table 如何对应两个 class

leeqiang · 2014年10月22日 · 最后由 Rei 回复于 2014年10月22日 · 2070 次阅读

我现在有一个 user table,通过一个字段,想 分为 AUser 和 BUser,怎么做?

单表继承不行吗?搞个父类

另一个继承了 AR 的类里面手动设置表名

#1 楼 @5swords 不想整继承,这两个类的关系基本没有。

#4 楼 @leeqiang 那为什么用一个表?

#5 楼 @Rei 只是重复的字段比较多,想弄到一起去。

#2 楼 @ywjno 我试过了,class 内设置 table name,然后设置一下 default scope 可以使用,但是创建的时候还需要 after_initialize 设置默认字段的内容。满足了,就是想问问大家有没有更加简单直接的方法,搞定这件事

技术上,两个模型共用一个表,就是用继承实现。而且可以不是一个继承另一个,还可以两个继承一个虚基类。

但根据我的经验,有共用一个表需求的模型,很可能用一个模型就够了,继承会带来很多麻烦。

#8 楼 @Rei 好的,我去好好想想能不能做成一个类,谢谢你的指导

self.table_name = "xxoo"

#8 楼 @Rei 那也就是说,我直接个给 model 添加比较多的 attribute 咯?(A 有或者 B 有的都加上去?)

#12 楼 @cqcn1991 如果两个 model 只差一个字段。

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