कभी-कभी हमें मॉडल निर्माण के बिना फ़ॉर्म की आवश्यकता होती है - उदाहरण के लिए खोज फ़ील्ड या ईमेल, जहां कुछ निर्देश भेजना चाहिए। इस रूपों को बनाने का सबसे अच्छा तरीका क्या है? क्या मैं वर्चुअल मॉडल या ऐसा कुछ बना सकता हूं? मैं फॉर्मेटास्टिक का उपयोग करना चाहता हूं, लेकिन form_tag नहीं।आभासी मॉडल और form_for (या formtastic)
उत्तर
सबसे पहले, फॉर्मटास्टिक को सभी मामलों में एक मॉडल की आवश्यकता नहीं है, हालांकि यह निश्चित रूप से सर्वोत्तम काम करता है और मॉडल के साथ कम कोड की आवश्यकता होती है।
रेल के स्वयं के निर्मित form_for
की तरह, आप किसी ऑब्जेक्ट के बजाय पहले तर्क के रूप में एक प्रतीक में गुजर सकते हैं, और फॉर्मटास्टिक फॉर्म का निर्माण करेगा और प्रतीक के आधार पर पैराम पोस्ट करेगा। उदाहरण के लिए:
<% semantic_form_for(:session) do |f| %>
...
<% end %>
यह फार्म मूल्यों params[:session]
के रूप में अपने नियंत्रक को उपलब्ध कराएगा।
दूसरा, मॉडल का मतलब ActiveRecord मॉडल नहीं है। मेरा मतलब है, फॉर्मटास्टिक एक कक्षा के किसी भी उदाहरण के साथ काम करेगा जो quacks ActiveRecord मॉडल की तरह होगा।
इस का एक उत्कृष्ट उदाहरण कई लोग फॉर्मेटैस्टिक के साथ प्रमाणीकरण के लिए ऑथलॉगिक का उपयोग कर रहे हैं। Authlogic का एक हिस्सा एक UserSession मॉडल है, जो ठीक काम करता है का विचार है:
नियंत्रक:
def index
@user_session = UserSession.new
end
प्रपत्र:
<% semantic_form_for(@user_session) do |f| %>
<%= f.input :login %>
<%= f.input :password %>
<% end %>
यह params[:user_session]
के रूप में अपने नियंत्रक में अपने प्रपत्र डेटा उपलब्ध करवाएगा।
यह वास्तव में आपके मॉडल की चिंताओं को लपेटने के लिए मॉडल उदाहरण बनाने में मुश्किल नहीं है। बस विधियों को कार्यान्वित करना जारी रखें जब तक कि आप इसे काम नहीं कर लेते हैं!
या आप बस फॉर्म_for के साथ एक फॉर्म बनाते हैं और मॉडल संदर्भ को खाली छोड़ देते हैं। [: Some_attribute] अपने नियंत्रक में उदाहरण <% form_for "", :url=>some_url do |f| %>
<%= f.text_field "some_attribute" %>
<%= submit_tag "submit" %>
आप मान प्राप्त कर सके बस कह पैरामीटर द्वारा लिए ।
मैं नीचे वोट पर एक टिप्पणी की सराहना करता हूं। – Sid
मैं यह कहूंगा क्योंकि ओपी आदर्श रूप से फॉर्मेटास्टिक का उपयोग करके एक अर्थपूर्ण समाधान की तलाश कर रहा है, और आप पीछे एक कदम का सुझाव दे रहे हैं। –
default_language.rb
class DefaultLanguage attr_accessor :language_id end
foo_controller.rb
def index @default_language = params[:default_language] || Language.find_by_name("English") end
index.erb
<% semantic_form_for @default_language do |form| %> <% form.inputs :id => 'default_language' do %> <%= form.input :id, :as => :select, :collection => @languages, :required => false, :label => "Primary Language:", :include_blank => false %> <% end %> <% end %>
मैं प्रपत्र पोस्ट करने के लिए जब मूल्य बदल AJAX के लिए इस्तेमाल किया।
- 1. कोई मॉडल Formtastic फार्म
- 2. Formtastic
- 3. formtastic का उपयोग Formtastic
- 4. Formtastic नेस्टेड मॉडल प्रपत्र फ़ील्ड्स (रेल 3)
- 5. Formtastic और आधार त्रुटियों
- 6. form_for गैर-एआर मॉडल - फ़ील्ड_for ऐरे विशेषता
- 7. के बीच अंतर: मॉडल और @model form_for में?
- 8. form_for datetime_select
- 9. form_for और स्कोप, रेल 3
- 10. टाइप करें एक ActiveRecord मॉडल आभासी विशेषता
- 11. form_for और form_tag के बीच अंतर?
- 12. नेस्ट संसाधनों form_for
- 13. अपरिभाषित विधि `has_many 'Formtastic
- 14. आभासी गुण और द्रव्यमान असाइनमेंट
- 15. कैसे ठीक से Formtastic
- 16. रूबी: form_for
- 17. अपरिभाषित विधि form_for
- 18. आभासी और अमूर्त तरीकों
- 19. क्या आपको आभासी विरासत में "सार्वजनिक आभासी" या "आभासी सार्वजनिक" लिखना चाहिए?
- 20. जावास्क्रिप्ट (फार्म बिल्डर) में Formtastic
- 21. रेल पर रूबी: मॉडल पर form_for का उपयोग करें, और फॉर्म मान
- 22. rails3-jquery-autocomplete संदर्भ आईडी formtastic
- 23. PUT विधि form_for
- 24. स्टाइल form_for स्टाइलिंग
- 25. रेल: form_for नेमस्पेड संसाधन
- 26. आभासी विषयों/कतार और स्थायित्व
- 27. form_for का उपयोग करते समय पासवर्ड और पुष्टि कैसे बनाएं?
- 28. इंटरफेस, सार, या सिर्फ आभासी तरीकों?
- 29. सी # आभासी (या अमूर्त) स्थैतिक विधियां
- 30. नाम छुपा और आभासी कार्यों
मैं आपकी चुनौती स्वीकार करता हूं!यहां एक गैर-ActiveRecord क्लास को "अपने मॉडल की चिंताओं को लपेटने" के लिए खोजें। http://dondoh.tumblr.com/post/4142258573/formtastic-without-activerecord – dondo