यहां मुझे एक पूर्ण सीधा सवाल होने की उम्मीद है, लेकिन मुझे मार्गदर्शिकाओं या अन्य जगहों में एक निश्चित उत्तर नहीं मिल रहा है।रेल 3 प्रमाणीकरण: उपस्थिति => झूठी
मेरे पास ActiveRecord पर दो विशेषताएं हैं। मैं बिल्कुल एक उपस्थित होना चाहता हूं और दूसरा शून्य या खाली स्ट्रिंग होना चाहता हूं।
मैं समकक्ष कैसे कर सकता हूं: उपस्थिति => झूठी? मैं यह सुनिश्चित करना चाहता हूं कि मूल्य शून्य है।
validates :first_attribute, :presence => true, :if => "second_attribute.blank?"
validates :second_attribute, :presence => true, :if => "first_attribute.blank?"
# The two lines below fail because 'false' is an invalid option
validates :first_attribute, :presence => false, :if => "!second_attribute.blank?"
validates :second_attribute, :presence => false, :if => "!first_attribute.blank?"
या शायद यह करने के लिए एक और अधिक सुरुचिपूर्ण तरीका है ...
मैं रेल चल रहा हूँ 3.0.9
मुझे यकीन है कि आप की जरूरत नहीं कर रहा हूँ: उपस्थिति => बिल्कुल झूठी कोड के अंतिम दो पंक्तियों में । – creativetechnologist
@creativetechnologist इसे किसी प्रकार की परीक्षा की आवश्यकता है। अगर मैं इससे छुटकारा पाता हूं: उपस्थिति सत्यापन, यह मुझे देता है: सी: /Ruby192/lib/ruby/gems/1.9.1/gems/activemodel-3। 0.9/lib/active_model/validations/validates.rb: 79: 'validates 'में: आपको कम से कम एक सत्यापन (ArgumentError) – LikeMaBell
को रेल 4 के लिए ध्यान देने योग्य मूल्य की आवश्यकता है जिसे इसे' validates_absence_of' कहा जाता है। – mpowered