Rails 多态关联用的多吗?

xiaoronglv · 2012年06月28日 · 最后由 ery 回复于 2012年06月30日 · 5513 次阅读

在学习阶段,这一部分好难理解啊。不知道多态关联这部分知识重要吗?

很少用了,遇到相关的需求再分析就 ok 了,个人认为可以跳过。

同初学。。

多态关联是指 Polymorphic 选项? model Image belongs_to :imageable,polymorphic: true 就是说当前 Model 属于:imageable 而使用时 has_many :images,as: imageable 就是指当前 Model 作为 imageable,这样就行了,其余的和一对多一样了

会用到。

#4 楼 @yedingding 举两个例子来看看?

很频繁使用

#5 楼 @zhenning

topic has_many attachments post has_many attachments

#5 楼 @zhenning has_many :comments, :as => :commentable,这个应该使用频率相当高吧

#8 楼 @fresh_fish #7 楼 @Rei 我自己搞错了,以为是在说单表继承。STI.

#9 楼 @zhenning 单表继承也用..

#9 楼 @zhenning Ruby China 的 notification 类型用了单表继承。

我用了不少,像 feedable imageable 之类的

#10 楼 @hooopo #11 楼 @Rei STI 跟数据范式规范有点不符,我自己写的东西也有用过,总觉得从维护来看不是很好。当然我也没有很好的证据去说明这一点。而 mongodb 这样的数据库还用不用以前旧的数据库范式来说,我更说不上。

Likeable, Commentable ...到的地方很多

比如,关注功能

#9 楼 @zhenning 基本不用单表继承,除非数据冗余很少。CTI 我倒用的挺多,个人用 citier gem.

我觉得楼主,不理解“多态关联”, 可能是因为,你在开发的时候没有遇到过这样的需求, 当你今后遇到了这样的需求,你自然而然的就理解啦, 没有必要为了“理解”而去“理解”。 学习阶段,你只需要,知道有这样子的一种技术,就可以啦, 说不定,那天你就能用上。 也可能一辈子都用不上,那也没什么。

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