1

所以我有一个订阅表格,其中用户同时创建一个新帐户并订阅月度计划。

所以他们正在输入用户名、电子邮件、密码和所有常用的信用卡/账单信息。

但我遇到的问题是他们不小心输入了错误的信用卡号码......处理这个问题的最佳方法是什么?

我需要先创建用户帐户,这样我才能拥有一个数据库行 ID(用于第三方计费服务),但是由于我在我的create方法中一举处理了所有这些,如果用户更正了他们的卡信息并重新-提交,它告诉他们该帐户已经存在(因为实际上已经创建了用户帐户)。

所以,这里的问题是你将如何处理这个问题?你会把他们带到一个只有账单数据的错误页面吗?或者还有什么?不知道最好的处理方法是什么......

4

2 回答 2

0

不知道任何标准,但我确信最好的方法是在计费服务检查失败时删除新创建的用户帐户(一个字段created_at可能有助于检测超时)。

这种机制是通过数据库事务实现的,在 Rails 中不需要太多努力。但请确保您没有在数据库上使用排他锁定。

于 2010-01-16T06:41:02.640 回答
0

在我看来,你可以用两种不同的方式处理这个问题

1)一切都成功验证后,只需保存数据。您可以使用自定义验证来检查信用卡。见snippets.dzone.com/posts/show/5266

2)使用两种不同的模型(用户和信用卡)并使用find_or_create(实际上你也可以使用find_or_create和一个模型)见http://blogs.law.harvard.edu/lianaleahy/2008/05/19/find_or_create/

于 2010-01-16T09:37:35.650 回答