首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同数据库表的ActiveRecord继承

不同数据库表的ActiveRecord继承
EN

Stack Overflow用户
提问于 2009-04-24 20:01:49
回答 2查看 1.1K关注 0票数 3

我刚刚开始研究在Rails中使用更高级的模型。我经常使用的一个模型非常成功,在该模型中,多对多交叉引用关系由一个类访问,该类本身是多对多关系中基类的子类。

这样,交叉引用类就可以充当基类的替身。

导航层次结构节点(NavigationNode)交叉引用到用户角色就是一个很好的例子。在交叉引用点处,类(RoleNavigationNode)可以继承自NavigationNode,并且仍然对用户角色有深入的了解。

我的问题是(在上面的例子中) RoleNavigationNode是否可以继承NavigationNode,同时访问交叉引用表,而不是NavigationNode访问的表--这当然是使用ActiveRecord。

我没有研究多态关联,这可能更合适。

预先感谢...,

EN

回答 2

Stack Overflow用户

发布于 2009-05-01 13:58:52

是否在子类上尝试过set_table_name

另外,研究一下在模型类中设置@abstract_class

最后,您需要的可能只是包含在两个模型中的Mixin。

不管怎么说,你要做的听起来有点不像ActiveRecord。你可能想要发布一个更清晰的例子来说明你想要实现的目标,也许我们可以想出一些更简单的东西。

票数 2
EN

Stack Overflow用户

发布于 2012-03-01 06:05:34

这在Rails 3中有效:

代码语言:javascript
复制
class Common < ActiveRecord::Base
  @abstract_class = true
  def common
    "Foobar!"
  end
end

class Model < Common
end

class AnotherModel < Common
end

如果不设置abstract_class,Rails将在数据库中查找名为commons的表。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/787349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档