2016-06-18 9 views
1

Easy Postを使用して、入力されたユーザーの住所が正確で実際的であるかどうかを検証し、有効性についてのフィードバックを提供します。外部APIとユーザーのフィードバックを使用するレール

私の恐怖は、ユーザが提出時にフィードバックを待つ必要がありますので、我々はそれがてきぱきとされるのではなく、APIのハングアップを持っているだろうということです。

私はActiveJobでこれを扱うことができますが、ユーザは、不良アドレスデータを入力する可能性があり、我々はそのエラーを返し、修正するために顧客に通知する必要があります。

はもちろん、私たちは、お客様が従事しておきたいが、我々はまた、彼らの提出プロセスはてきぱきであることを確認します。

これを達成するための適切な方法(ベストプラクティス)は何ですか?遅れた仕事、またはタイムアウトを待つだけで、彼らがハングしないことを確認できますか?

答えて

1

我々はjob notifier gemを開発しました。 ActiveJobと連携し、非同期フィードバックを返すことができます。この宝石を使って、ユーザーにアドレスを入力させ、後でエラーや成功について通知することができます。私は重大な問題ではない場合、後でエラーを修正することは深刻ではないと思うし、あなたを助けるツールを持っている場合

+1

それは私が示唆した正確なアプローチです。それのための宝石があることを決して知らなかった。 Readme.rbは見込みがあります。どうもありがとう!! – retgoat

0

入力したデータがバックグラウンドで正しいことを確認することができます。例えば

あなたはjavascriptのイベント(のonblur)でアドレスデータを取得し、ActiveJobによってEasyPostエンドポイントに送信し、フォームの残りの部分を埋めるために、ユーザーを許すことができます。

ユーザーは別のフォームフィールドを塗りつぶしますが、EasyPostからの応答を得て、緑色(有効な場合)または赤色(そうでない場合)でフィールドを強調表示できます。

適切なエラーメッセージを表示することもできます。

このアプローチを使用すると、服従提出を最小限に抑え、ユーザーの関与を維持できます。

0

私はユースケースに対して具体的な回答をしているとは言えません。しかし、ここに私が従うアプローチがあります。

APIが自分のアプリケーションに重要な場合は、私は彼らが自分のアドレスが検証されていたことを知らされることになるページにユーザーをリダイレクトしたいです。これは、私のWebサーバーと私のUXの両方に役立ちます。私はHerokuをしばらく使用していたので、30秒以上かかるリクエストは終了します。

また、AJAX検証を追加する方法については、APIを参照してください。

ActiveJobも考えていますが、モデルにフラグ(大部分はdb列)を付けてアドレスが有効かどうかを確認し、ユーザーがアプリケーションの周りを移動している間は、 (おそらく静的なバナーやUIのどこかで)住所の確認に失敗したことが通知されました。

私はあなたのアプリケーションの利点を探求しながら、あなたのユーザーは良い経験をしたと思います。プラタナスで

関連する問題