Ruby on rails 使用外部API和用户反馈的Rails

Ruby on rails 使用外部API和用户反馈的Rails,ruby-on-rails,api,Ruby On Rails,Api,使用Easy Post,我想验证用户输入的地址是否准确真实,然后提供有效性反馈 我担心的是,我们将有一个API挂起,因此用户将不得不等待提交时的反馈,而不是很快 我可以用ActiveJob处理这个问题,但是用户有可能输入错误的地址数据,我们必须通知客户返回并修复他们的错误 当然,我们希望让客户参与进来,但我们也希望确保他们的提交过程快速 实现这一目标的正确方法是什么(最佳实践)?延迟作业,还是让他们等待一段时间以确保他们不会挂起 我假设,您可以在后台验证输入的数据是否正确 例如,您可以通过jav

使用Easy Post,我想验证用户输入的地址是否准确真实,然后提供有效性反馈

我担心的是,我们将有一个API挂起,因此用户将不得不等待提交时的反馈,而不是很快

我可以用ActiveJob处理这个问题,但是用户有可能输入错误的地址数据,我们必须通知客户返回并修复他们的错误

当然,我们希望让客户参与进来,但我们也希望确保他们的提交过程快速


实现这一目标的正确方法是什么(最佳实践)?延迟作业,还是让他们等待一段时间以确保他们不会挂起

我假设,您可以在后台验证输入的数据是否正确

例如,您可以通过javascript事件(onblur)获取地址数据,并通过ActiveJob将其发送到EasyPost端点,然后让用户填写表单的其余部分

当用户填写另一个表单字段时,您将收到EasyPost的响应,并且可以用绿色(当它有效时)或红色(当它无效时)突出显示字段

还可以呈现适当的错误消息


这种方法将允许您最大限度地减少wring提交并保持用户参与。

我不能说我对您的用例有具体的响应。但这是我将遵循的方法

如果API对我的应用程序至关重要,我会将用户重定向到一个页面,在该页面上,他们会被告知自己的地址正在被验证。这将有助于我的web服务器和UX。因为我已经使用Heroku一段时间了,我知道需要超过30秒的请求会被终止

我还将查看API以了解添加AJAX验证的方法

但是,正如你所说的,你也可以考虑ActudiJOBE,你可以在模型上有一个标志(主要是一个DB列)来检查地址是否有效,当用户在你的应用程序中转换时,让他/她知道(可能有一个静态的横幅或者与你的UI一致的地方),他的地址验证失败。


我相信这样,您的用户在探索您的应用程序的好处时会有一个良好的体验。

在Platanus中,我们开发了。它与ActiveJob一起工作,允许您返回异步反馈。有了这个gem,您可以让用户输入地址,然后通知错误或成功。我认为,如果问题不严重,并且您有方便自己的工具,那么以后纠正错误也不严重

,这正是我建议的方法。我从来都不知道有这样的珍宝。Readme.rb看起来很有希望。谢谢!!