मैं रेल 3 का उपयोग कर रहा हूं और एक फॉर्म सबमिट करने में विफल रहा क्योंकि फ़ील्ड में से कोई एक validates_presence_of
पास करने में विफल रहता है। मेरे मॉडल को dinner
कहा जाता है, और फ़ील्ड, जिसे डेटपिकर के संयोजन के साथ प्रयोग किया जाता है, को date
कहा जाता है।रेल फ़ील्ड "रिक्त नहीं हो सकता", भले ही यह खाली नहीं है
views/dinners/new.html.erb:
<%= f.text_field :date, id: "datepicker" %>
models/dinner.rb:
attr_accessible :date
validates_presence_of :date
dinners_controller.rb:
def create
@dinner = Dinner.new params[:dinner]
if @dinner.save
flash[:notice] = "Dinner created successfully."
redirect_to controller: 'dinners'
else
flash.now[:alert] = @dinner.errors.full_messages.join("<br>").html_safe
render action: "new"
end
end
जब भी मैं date
समेत सभी फ़ील्ड भरता हूं, तो मुझे त्रुटि मिलती है "तिथि खाली नहीं हो सकती", भले ही यह खाली न हो। यहाँ क्या चल रहा है?
आमतौर पर जब ऐसा कुछ होता है, तो मुझे लगता है कि यह एक पैरामीटर है जो इसे पारित नहीं किया जा सकता है। सर्वर लॉग की जांच करें। क्या: दिनांक पैरामीटर बिल्कुल पारित हो रहा है? यदि हां, तो क्या यह सही ढंग से स्वरूपित है? इसे सहेजने का प्रयास करने से पहले '@ रात्रिभोज 'ऑब्जेक्ट को लॉग आउट करने का प्रयास करें, देखें कि इसमें दिनांक सेट है या नहीं। – MrTheWalrus
इस तरह के मामलों में जांच करने की एक और बात यह है कि यह रेल कंसोल पर कैसे व्यवहार करता है। जब आप 'd = Dinner.new (: date =>" 31/12/2012 ") करते हैं, तो' d.errors' वही दिखाता है "खाली नहीं हो सकता"? – berkes
सुझावों के लिए धन्यवाद। जब मैं इसे लॉग आउट करता हूं, तो @ डिनर' के पास 'डेट' सेट नहीं होता है, लेकिन कंसोल पर इसे आजमाकर ठीक काम करता है। – LonelyWebCrawler