0

我正在構建一個具有一對一關係的應用程序,其中保留has_one'Order。 現在我的問題是,如果用戶決定不填寫Order的表單,我如何從數據庫中刪除Reservation?我嘗試過查找方法來做到這一點,但最大的問題是不知道要搜索什麼。Rails 4 - 通過一對一關聯進行保存/刪除

目前,我的創建操作會在表單提交後保存預訂,然後重定向到訂單付款的完成表單。

+0

一個'Reservation'應該總是有一個'Order'? –

+0

是的,這是正確的。 – ayounis90

回答

1

如果訂單沒有完成,不用擔心刪除預訂,爲什麼不要在第一時間防止創建預訂呢?

class Reservation 
    has_one :order 
    accepts_nested_attributes_for :order 
    validates_presence_of :order 

考慮將兩個對象的創建組合到一個頁面中,或者在控制器的步驟之間傳遞參數或對象。

+0

謝謝,我接受這個答案是因爲提到了在控制器的步驟之間傳遞params或對象的部分。我已經設置了應用程序,但我無法回頭改變我所擁有的太多內容。由於表單太長,我也不想創建單個頁面。 – ayounis90

1

你應該一次創建他們兩個

我覺得你最好的選擇是使用before_save爲了模型創建一個保留

同時檢查accepts_neseted_attributes因此兩者可以互相創建其他

相關問題