我有一个应用程序询问用户问题,然后(取决于答案)通过相关的next_question到控制器 - 一种状态机/决策树。对于一个用例,我需要能够将一组答案组合在一起,然后循环回到组的开头问题,并开始在同一个链之后构建另一个组。
到目前为止,我可以指示控制器启动一个新的链,但现有的链只是浮动那里,我想将它分成几组。因此我将某些问题定义为“可收集的”#34;通过向DB add_column :collectable, :boolean, default: false
添加一个列,并通过将该列设置为true来标记我想要组合在一起的列。这很好。
在模型中,这些项称为SaleQualifiers
,每个has_one :answer
和belongs_to :question
(问题模型包含可收集的信息)。在我的SaleQualifiers模型中,我添加了一个列collection_id, :integer
- 因此计划是使用一些逻辑来检查SaleQualifier的问题是否可收集,然后将id传递给collection_id列,我和# 39; ll用于在显示和路由逻辑中对这些对象进行分组(例如,编辑SaleQualifier)。
如何设置标准Rails控制ID分配之外的列的id?这样做最安全的方法是什么?出于我的目的,我可能想给多个SaleQualifier id = 1,因为SaleQualifiers属于SalesOpportunities,我可以通过父SalesOpportunity_id确定SaleQualifier的范围。
有什么建议吗?