我正在創建一個定製的「立即購買」頁面,該頁面是用戶,地址,銷售,SaleLine和付款模式的組合。要啓動付款流程,我需要在回叫中指定銷售ID。所以我#NEW方法看起來是這樣的......在Rails中,你是否需要小心創建太多的模塊?
# new
def bitcoin
require 'cgi'
@payment_to_tender = get_cost
@sale = Sale.create
begin
payment = create_new_payment_wallet(ENV["BITCOIN"], "http://www.example.com/a/b", @sale.id)
end
end
所以關鍵線,還有就是創建一個新的銷售記錄中。此頁面不需要任何類型的登錄或任何內容(因爲它是技術上的註冊頁面)。這會是一個問題嗎?我認爲,即使機器人導航到頁面,它也會產生另一個銷售記錄。這會最終趕上我嗎?我是否應該每晚運行一個腳本,刪除比一天早的所有孤兒銷售記錄,或者我應該嘗試不同的算法?
我倒是第一次問題1關於Sale.create如何有效。但除此之外,不,通常不應通過GET請求創建模型。使用POST:'post'/ bitcoin'=>'controller#action''。你會有兩個動作。一個用於初始化表單,另一個用於管理表單請求(通常是POST)。 –
Sale.create僅用於設置它的id,在該模型上沒有任何驗證,其中的大部分字段只是基於SaleLines的計算,所以我不希望遇到任何有效性問題。我想我現在可能會將這個過程分爲兩個視圖,第一個是創建用戶和購買細節的表單,第二個只是顯示他們在發貨前需要匯款的臨時比特幣地址。也許經過一些重構後,我可以得到這個更傳統的... – Lenskin
這是一個問題。在成功交易完成之前,即使在提交表單之前,您也正在創建銷售。你是對的,那會導致一張充滿無價值數據的臃腫桌子。交易處理完成後創建交易。 –