तो मेरे पास add_equip नामक आरक्षण मॉडल में एक विधि है। यह विधि यह सुनिश्चित करने के लिए कुछ जांच करती है कि उपकरण का जोड़ा टुकड़ा मान्य है (दूसरे आरक्षण के साथ विवाद नहीं)।रेल - मॉडल से एक त्रुटि संदेश प्राप्त करना जो सत्यापन त्रुटि नहीं है
चेक काम करते हैं। यदि उपकरणों का एक जोड़ा टुकड़ा जोड़ा नहीं जाना चाहिए, तो यह नहीं है, और यदि यह होना चाहिए।
समस्या मैं समझ नहीं कैसे संदेश वापस नियंत्रक करने के लिए भेजने के लिए फ़्लैश संदेश में रखा जा रहा है? मुझे पता है कि मुझे यहां कुछ याद आना चाहिए, लेकिन मैंने कुछ घंटों के लिए गुगल किया है और वास्तव में कोई स्पष्ट स्पष्टीकरण नहीं मिल सकता है कि नियंत्रक को त्रुटियों को कैसे पास किया जाए, जब तक कि वे सत्यापन त्रुटियां न हों। आरक्षण मॉडल
def add_equip equip
if self.reserved.find_by_equip_id(equip.id)
self.errors.add_to_base("Equipment Already Added")
return false
elsif !equip.is_available?(self.start, self.end)
self.errors.add_to_base("Equipment Already Reserved")
return false
else
r = Reserved.new
r.reservation = self
r.equip = equip
r.save
end
end
किसी भी मदद में reservations_controller
def add_equip
@reservation = Reservation.find(params[:id])
@addedEquip = Equip.find(params[:equip_id])
respond_to do |format|
if @reservation.add_equip(@addedEquip)
flash[:notice] = "Equipment was added"
format.html { redirect_to(edit_reservation_path(@reservation)) }
else
flash[:notice] = @reservation.errors
format.html { redirect_to(edit_reservation_path(@reservation)) }
end
end
end
add_equip में
add_equip बहुत सराहना की जाएगी। मुझे पता है कि मैं यहाँ कुछ बुनियादी याद कर रहा हूँ।
धन्यवाद ".full_messages।to_sentance "चाल चल रही थी। मुझे पता था कि मुझे कुछ मूर्खतापूर्ण याद आना चाहिए। – raytiley
फ्लैश संदेश में model.errors.full_messages का उपयोग करना आईएमएचओ इसे हल करने का एक खराब तरीका है। 'error_messages_for: model' त्रुटि संदेशों को प्रदर्शित करने का पारंपरिक तरीका है, आपने संकेत दिया। समस्या को हल करने का सही तरीका बेस पर बजाय equip_id पर त्रुटि डालना होगा और फिर केवल संपादन फ़ॉर्म क्रिया प्रस्तुत करना होगा। कोई रीडायरेक्ट आवश्यक नहीं है। –
यह एक अच्छा बिंदु है, फिर से प्रस्तुत करना बेहतर होगा पेज। –