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

啊!好吧,这更有意义。看我的编辑。 –