使用Rails从单表继承中获取混合类型的集合

我有以下内容:

class JiraIssue < activeRecord::Base
end

class Incident < JiraIssue
end

稍后在我的代码中,我想调用JiraIssue.all并得到IncidentJiraIssue实例的混合包。但是,按照现在的书写方式,我只能找回一种(或另一种)类型。

有什么解决办法吗?

xiaoxi8892 回答:使用Rails从单表继承中获取混合类型的集合

您可以使用JiraIssuehttps://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-becomes)将事件的子集从Incident静态投射到becomes类。

代码看起来像这样:

jira_issue # type: JiraIssue

if jira_issue.isIncident?
   return jira_issue.becomes(Incident)
end
本文链接:https://www.f2er.com/3155841.html

大家都在问