0

我使用Shippinglogic來收集提交的跟蹤編號的跟蹤信息。我將如何組織這個Rails代碼的流程?

我正在處理UI背景幕後的一些事情,但我不知道如何正確組織這個。

因此,這裏的流量:

  1. 用戶通過表單輸入或URL(example.com/track/1234567890)提出跟蹤號碼要麼。如果該數字在數據庫中不存在,那麼下一步就會發生......
  2. 提交數字後,我通過邏輯運行該數字以確定承運人是誰(UPS,FedEx,USPS,DHL等)。用戶永遠不會指定......這一切都是自動完成的。
  3. 承運人確定後,我需要實際打電話給承運人API(通過Shippinglogic)以獲取追蹤信息。
  4. 獲得跟蹤詳細信息後,我需要將其保存到數據庫。
  5. 然後,跟蹤細節最終返回給用戶。

由於用戶可以通過表格或通過一個URL提交(沒有任何類型的POST行爲),我想通過我的控制器show方法,如果數量存在於運行它,我檢查,如果不是,通過Number.create(:tracking_number => '1234567890')提交它,但一旦我進入模型,我只是有點迷路了下一步該做什麼。

回答

0

那麼我會讓用戶指向新的或創建操作,您可以在其中處理創建並檢測記錄是否已存在。一旦處理完畢,您很可能希望將它們發送到顯示頁面,您可以在其中顯示數據源中的跟蹤信息以及保存在數據庫中的任何信息。這樣您就可以保留應用程序的性質,如果需要的話,其他開發人員可以使用該應用程序。

編輯: 我有這樣的項目,我出我的移動檢測代碼到模型中的一個單獨的功能,所以我可以做和改變它從模型上的特定呼叫摘要。我在模型的後臺執行了我的API請求,因此我可以在數據庫中緩存數據並刷新一小時內被視爲活動的記錄。

基本上,如果它需要從使用記錄中的數據或一些數據保存爲我的模型做了一個功能記錄的一部分。這使我能夠從具體的修改分成一組函數出控制器動作等。

+0

這基本上是我已經在做的。我在問如何處理(或放哪裏)確定載體類型的方法,進行API調用等。 – Shpigford

+0

啊!好吧,這更有意義。看我的編輯。 –