2016-06-18 51 views
1

使用Easy Post,我想驗證輸入的用戶地址是否準確真實,然後提供有效性反饋。使用外部API和用戶反饋的Rails

我的恐懼是我們會有一個API掛斷,所以用戶將不得不等待提交後的反饋,而不是活潑。

我可以用ActiveJob處理這個問題,但用戶有可能輸入錯誤的地址數據,我們將不得不通知客戶返回並修復錯誤。

當然,我們希望保持我們的客戶參與度,但我們也希望確保他們的提交流程非常活躍。

什麼是實現這個最佳實踐的正確方法?延遲工作,還是讓他們等待超時以確保它們不會掛起?

回答

1

在Platanus我們開發了job notifier gem。它與ActiveJob一起使用,並允許您返回異步反饋。有了這個寶石,你可以讓用戶輸入地址,並稍後通知錯誤或成功。我認爲,如果不是嚴重的問題,並且如果你有便於你使用的工具,那麼糾正錯誤並不是很嚴肅的事情。

+1

我提出的確切方法。從來不知道這是一個寶石。 Readme.rb看起來很有前景。非常感謝!! – retgoat

0

我假設你可以在後臺驗證輸入的數據是否正確。

例如,您可以通過JavaScript事件(onblur)獲取地址數據並通過ActiveJob將其發送到EasyPost端點,並讓用戶填寫表單的其餘部分。

當用戶填寫另一個表單字段時,您將收到EasyPost的回覆,並可以用綠色(有效時)或紅色(不是時)突出顯示字段。

此外,您可以呈現相應的錯誤消息。

該方法將允許您儘量減少提交意見並保持用戶參與。

0

我不能說我對你的用例有特定的迴應。但這是我會遵循的方法。

如果API對我的應用程序至關重要,我會將用戶重定向到一個頁面,在那裏他們會被告知他們的地址被驗證。這將有助於我的網絡服務器和我的用戶體驗。由於我已經使用了Heroku一段時間,並且我知道需要花費超過30秒左右的請求才會被終止。

我也看看API來看看添加AJAX驗證的方法。然而,正如你所說,你也會考慮ActiveJob,你可以在模型上有一個標誌(主要是一個數據庫列)來檢查地址是否有效,而當用戶在你的應用程序中轉換時,讓他/她通知(可能帶有靜態橫幅或與您的用戶界面一致的地方)他的地址驗證失敗。

我相信這樣,你的用戶會有很好的體驗,同時探索你的應用程序的好處。