我是一個學生在美國著名的集訓學習web開發。對於我的頂點項目,我決定嘗試構建一個相當簡單的應用程序,其中一個經過驗證的用戶可以向另一個用戶發送一定數量的比特幣(我向我的老師描述爲瓶裝小費平臺)。雖然這在理論上聽起來很簡單,但我擔心跳槽的問題有很多。在自定義實現第三方API資源的Rails應用
我建立與導軌這個應用程序,使用Coinbase API。在我的學校,我們學習了一個相當嚴格的MVC架構。這裏是我發現我的第一個問題的地方。關於資源,我們基本上是從零開始構建的;這將標誌着我第一次嘗試在後端實施第三方API。我在Coinbase文檔中已經注意到,我需要使用多個明確定義的資源。最值得注意的資源是用戶和賬戶(我將賬戶作爲'配置文件'搭建起來,但是它們在ERD中的用途相同)。
如果我與這些預建資源的工作,做我需要充分腳手架他們,或可我只是將它們導入到我的文件,然後自定義代碼寫信給我的規格?如果是這樣,對我來說簡單地撕毀我的腳手架並從頭開始是合理的嗎?更廣泛地說,我應該如何將預先存在的資源合併到我的MVC體系結構中?
任何幫助是極大的讚賞!
我認爲它變得更清晰一些。 'Stripe :: Customer.create'正在訪問資源並使用它的方法。所以,如果我想讓我的用戶創建一個錢包,我需要調用'Coinbase :: Wallet :: Client.create_account'。 老實說,我不知道我是否在複製數據庫中的數據。我正確地猜測'Stripe :: Customer.create'調用的結果存儲在他們的數據庫而不是我自己的數據庫中,而且我應該只保留自己調用他們的數據庫的必要(這就是你似乎在'stripe_customer'方法中)? – d00medman
沒錯。它將數據發送到他們的服務器(通過HTTP請求)供他們存儲。讓您的API提供者(Coinbase,Reddit,Stripe)在處理業務邏輯時處理數據模型(不要重新實現他們已經做的事),因爲它涉及到與您的界面進行交互。 –
酷,我有一些更多關於編寫這些代碼出來,以及其他關注點:1)我是正確猜測,與第三方的API進行交互時,我並不真的需要觸摸控制器,因爲大多數的這個繁重的工作是在模型中處理的? 2.)我已經安裝了Gem,但我不確定我應該在哪裏放置需求聲明。我的直覺在課堂定義之外,在文件的最頂端,但我對此很不自信。 3。)應該與w/coinbase交互的模型從ActiveRecord下降,還是我需要一個不同的超類? – d00medman