清理部分注册

时间:2012-08-13 03:33:52

标签: ruby-on-rails

我正在开发一个Rails应用程序,用户必须填写两个或更多屏幕进行注册。注册数据分布在两个表中的两个或三个记录中。

当然,用户可以在注册完成之前纾困。这可以作为必填列中的空条目检测到。

在一段合理的延迟(几个小时)之后清理这些部分完整的注册的“Rails方式”是什么?

如果它有所作为,我正在Heroku上部署。

2 个答案:

答案 0 :(得分:2)

我不知道它是否是“轨道方式”,但我认为创建一个rake任务并通过cron job定期运行它可能就足够了你描述的内容。如果您正在进行测试,您甚至可以像其他任何代码一样test the rake tasks

答案 1 :(得分:2)

您是否考虑过为#34;正在进行中的单独表格"用户?然后将它们剁碎并在它们完成后将其展开。

然后,您只需删除正在进行中的表格中任何超过一天update_at的内容,即可清理已弃用的用户;运行rake任务的每日cron作业(或调度程序或...)可以处理这个问题。这也会阻止他们登录,直到他们完成为止,直到他们完成用户为止。

作为副作用,他们无法登录,直到他们完成,因为他们不是真正的用户,直到他们完成。您可能需要在一个控制器内部调整current_user处理。

这种方法还意味着您可以将NOT NULL约束添加到必填列中作为额外的偏执程度。