【发布时间】:2010-01-14 17:20:54
【问题描述】:
我正在将一些功能移植到 Rails,并且正在使用一个用于 cmets 的现有表。
基本上,有两种类型的 cmets - profile cmets(photo_id 列为 null)和 photo cmets(photo_id 列设置为 photo 的 ID)
通过向表中添加类型字段,单表继承工作得很好,但我想知道是否有办法让我的单表继承在没有类型字段的情况下工作。根据 Rails API 文档,“如果您的表中没有定义类型列,则不会触发单表继承。在这种情况下,它将像普通子类一样工作,没有特殊的区分魔法在它们之间或使用 find 重新加载正确的类型。”
我想知道是否有一种方法可以自定义我的模型以根据 photo_id 为 nil 或具有整数值来确定类型,而不是使用数据库列(如果我不使用,我宁愿不添加必须。)有什么想法吗?
【问题讨论】:
标签: ruby-on-rails activerecord