我有以下内容:
class JiraIssue < activeRecord::Base
end
class Incident < JiraIssue
end
稍后在我的代码中,我想调用JiraIssue.all
并得到Incident
和JiraIssue
实例的混合包。但是,按照现在的书写方式,我只能找回一种(或另一种)类型。
有什么解决办法吗?
您可以使用JiraIssue
(https://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