Ruby on rails 在Rails中实现延迟关联

Ruby on rails 在Rails中实现延迟关联,ruby-on-rails,forms,variables,temporary,Ruby On Rails,Forms,Variables,Temporary,这是我面临的编程挑战。我是新来的 我想用Rails的方式,用优雅的代码来做这件事,并在这个过程中学习一些东西 在我的应用程序中,玩家跟踪一个动作(从半小时开始关注25分钟)。动作#新表单在开始时加载,但直到25分钟结束后才保存。最后2分钟是回顾,包括一些必要的“进展如何”问题 现在我想添加一个Insights表。我正在描绘一个单独的、小的“新见解”形式,它融合到更大的“新行动”形式中。我希望在任何时候都能保留洞察力 我还希望洞察力与特定的行动相关联。。。即使操作尚未创建,我也不知道它将具有什么i

这是我面临的编程挑战。我是新来的

我想用Rails的方式,用优雅的代码来做这件事,并在这个过程中学习一些东西

在我的应用程序中,玩家跟踪一个动作(从半小时开始关注25分钟)。动作#新表单在开始时加载,但直到25分钟结束后才保存。最后2分钟是回顾,包括一些必要的“进展如何”问题

现在我想添加一个Insights表。我正在描绘一个单独的、小的“新见解”形式,它融合到更大的“新行动”形式中。我希望在任何时候都能保留洞察力

我还希望洞察力与特定的行动相关联。。。即使操作尚未创建,我也不知道它将具有什么id(其他人可能会在我之前记录他们的操作)。如果创建了洞察,但操作失败,我还不确定该怎么办。。。我可以允许少一些行动

我如何实现这一点?温度变量?那会去哪里

再一次,我是这方面的新手,我感谢你的支持

米海
TheActionGame.com

您可以将一列作为数组添加到您的操作“insight\u ID”,并将其实现为一个has\u和\u属于\u many。
然后,当您有一个洞察时,将洞察的id记录在数组中

我确信您的操作代表了什么,但即使您有一些基于时间的原则,也没有什么可以阻止您在之前保存操作(对于基于浏览器的应用程序,25分钟是一段很长的时间,在此期间可能会发生很多不好的事情,如刷新或连接故障)

我的建议是立即创建(保存)该操作,从而允许您的洞察力链接到该操作。我会在操作中添加一个“状态”列,如“新建”(基本状态)、“确认”和其他(如果需要)

然后,您可以只处理“已确认”的操作,并最终定期删除“新”操作(就像所有超过30分钟的操作一样,thresold为25)


希望这是有意义的(无论如何,设计要比Rails多)。

谢谢-这是在删除与我的想法有点不同的新链接!谢谢你花时间回答!我不确定这到底是怎么回事……如果我想这样做,我可能可以找到链接,但你能给我建议一个地方看看吗?