2013-09-26 75 views
0

我們用下面的API調用防止鋼軌的重複請求

POST /book 
    user_id (integer): The user id to book the class for 
    class_id (integer): The id of the class to book 

在這個調用Rails的API,我們發送給第三方API的請求書類。問題是我們要保證不發送重複請求(user_id,class_id)對。我們可以防止用戶多次點擊圖書按鈕,但我們希望獲得額外的保護。我們不希望重複收費。

任何想法,我們如何可以執行這樣的事情?謝謝!

回答

0

您可以使用關聯的數據庫表創建一個名爲Booking的新模型,然後在發佈此帖子請求時創建一個新預訂。爲了確保沒有以前的預訂存在,您可以在模型驗證的獨特性,像這樣:

validates_uniqueness_of :user_id, :scope => :class_id 

如果要創建一個預訂的控制器出現故障,那麼你知道,預訂已經存在,並且可以返回一個信息,即影響。