0

Birebir bir ilişkiye sahip bir uygulama yapıyorum, Rezervasyon 'has_one' Sipariş. Şimdi sorum, bir kullanıcı Sipariş formunu doldurmamaya karar verirse, Rezervasyonu DB'den nasıl silebilirim? Bunu yapmanın yollarını aramayı denedim, ancak en büyük sorun neyi arayacağımı bilmemek.Raylar 4 - Bire bir ilişkilendirmeyle kaydetme/silme

Halihazırda oluşturduğunuz eylem form gönderildikten sonra Rezervasyonu kaydeder ve daha sonra tamamlanacak Sipariş ödemesi formuna yönlendirir. Bir seferde ikisini de oluşturmalısınız

+0

"Rezervasyon" her zaman bir "Sipariş" e sahip olmalı mı? –

+0

Evet, bu doğru. – ayounis90

cevap

1

Bir siparişin tamamlanmaması durumunda bir Rezervasyonu silme konusunda endişe etmek yerine, neden ilk etapta Rezervasyonun yaratılmasını engellemiyoruz?

class Reservation 
    has_one :order 
    accepts_nested_attributes_for :order 
    validates_presence_of :order 

tek bir sayfada hem nesnelerin oluşturulmasını birleştirerek veya denetleyici aşamaları arasında params'ı veya nesneleri geçen düşünün.

+0

Teşekkür ederim, bu cevabı kabul ediyorum, çünkü kontrol ünitesinin adımları arasındaki param ya da nesnelerin geçilmesiyle ilgili kısımdan bahsediyorum. Zaten geri dönüp çok fazla sahip olduğum şeyi değiştiremeyeceğim bir şekilde kurulmuş bir uygulama var. Ayrıca, form (lar) çok uzun olacağından tek bir sayfa oluşturmak istemedim. – ayounis90

1

Ben senin en iyi seçenek her oluşturulabilir

Ayrıca böylece accepts_neseted_attributes her ikisi için kontrol Bir Rezervasyonu oluşturmak için Sipariş modelinde before_save kullanmak olduğunu düşünüyorum Diğer