首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sequel类表继承

Sequel类表继承
EN

Stack Overflow用户
提问于 2016-11-09 13:43:43
回答 1查看 405关注 0票数 0

我希望在Rails中使用多个/类表继承启动一个项目。为此,我计划使用续集代替ActiveRecord。文档可以在这里找到- 后缀类表继承

插件在一定程度上可以工作,我可以调用child.first,它将给我第一个子类,这不是父类的第一个,它包括来自子表的数据。问题就在另一边..。

因此,如果我通过父类加载db行,这恰好是一个child2类。

代码语言:javascript
复制
p = Parent.first <Parent @values = {kind = "Child2"}>

然后使用它应该提供的docs中列出的刷新命令来获取子数据。

代码语言:javascript
复制
p.refresh <Parent @values = {kind = "Child2", child2data = "data from child 2 table"}>

但是它没有,它只是返回未改变的父级

我已经在我的父类中包含了一个模型地图。

代码语言:javascript
复制
 plugin :class_table_inheritance,:key=>"kind", :model_map=>{"Child1"=>:Child1,"Child2"=>:Child2}

我玩过不同的价值观和其他无稽之谈,试图让它发挥作用,但没有成功。

理想情况下,我想要的是能够找到父类并调用一个方法来执行子类,因此

代码语言:javascript
复制
p = Parent.first
c = p.child
c <Child2 @values = {kind: "Child2", Child2data: "data from child2 table">

我觉得我可能可以黑/添加一个方法到我的父类来完成这个任务,但是在这一点上我觉得很简单,我不应该这么做,而且刷新方法不起作用,这让我很担心,而且我想要解决这个问题。

有人有答案吗?阅读用ty

附注:我正在使用rails 5,rails续集宝石,并且在一个或多或少是空白的项目中工作,我只是想要一个体面的CTI设置,因为在我看来,它比多态关联要优雅得多。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-09 15:21:43

在插件调用中使用:key=>:kind,可以解决您的问题。如果您想要一个p.child方法,请使用关联而不是class_table_inheritance插件。

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

https://stackoverflow.com/questions/40508471

复制
相关文章

相似问题

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