2011-01-10 14 views
5

क्या मैं form_tag का उपयोग करते समय ActiveRecord- जैसे फॉर्म सत्यापन का उपयोग कर सकता हूं और form_form नहीं (इसलिए एक मॉडल के लिए बाध्य नहीं है)? कैसे?रेल 3: form_tag सत्यापन

उत्तर

0

जब तक कोई वस्तु सहेजी जा रही है और आपके पास मॉडल एआर पर कुछ प्रकार के सत्यापन त्रुटियां लौटाएंगे।

1

जैसा कि form_tag किसी भी मॉडल से बंधे नहीं है, इसलिए आपको डेटा को सत्यापित करना होगा और त्रुटियों को प्रदर्शित करने के लिए कोड लिखना होगा।

या आप गैर-डेटाबेस-बैकएंड मॉडल को सत्यापन के साथ बनाने और इसके बजाय form_for का उपयोग करने का प्रयास कर सकते हैं।

8

आप फॉर्म_टैग के साथ सत्यापन नहीं कर सकते क्योंकि आपका फॉर्म मॉडल के लिए बाध्य नहीं है।

लेकिन अच्छा हिस्सा यह है कि रेल 3 और एक्टिवोडेल के साथ आप ऐसे मॉडल बना सकते हैं जो आपके डेटाबेस से बंधे नहीं हैं। तो तुम खोज रूपों, संपर्क प्रपत्र, आदि के लिए सत्यापन के साथ "आभासी" मॉडल बना सकते हैं

देखें: https://github.com/novagile/basic_active_model

1

इस रेल 3.0.9 में मेरे लिए अच्छी तरह से काम करता है:

<%= form_tag("/events", :id => "new_event") do %> 
    <%= error_messages_for @event %> 
    <%= submit_tag "Submit" %> 
<% end %> 
संबंधित मुद्दे