2010-04-28 19 views
5

मैं अपने क्षेत्र के प्रकार को फॉर्मेटस्टिक में कैसे जोड़ सकता हूं?फॉर्मेटास्टिक, स्वयं: इनपुट प्रकार

उदाहरण के लिए, मैं एक कस्टम दिनांक इनपुट की आवश्यकता है, और मैं कुछ इस तरह हैं:

<%= f.input :start_date , :as => :my_date %> 

यह स्पष्ट रूप से क्योंकि formtastic पता नहीं है काम नहीं करता: my_date (केवल: बुलियन, : स्ट्रिंग,: डेटाटाइम और इतने पर ...)

लेकिन मैं अतिरिक्त इनपुट प्रकार कैसे जोड़ सकता हूं?

class MyCustomFormtasticFormBuilder < Formtastic::SemanticFormBuilder 
    protected 
    def my_date_input(method, options) 
    basic_input_helper(:text_field, :my_date, method, options) 
    end 
end 

एकदम सही है कि के लिए, नए एचटीएमएल 5 इनपुट प्रकार कहते हैं:

उत्तर

9

आप एक कस्टम इनपुट विधि जोड़ने की जरूरत है। आप यह बहुत की तरह उपयोग करें:

<% form_form @model, :builder => MyCustomFormtasticFormBuilder do |f| %> 
    <%= f.input :start_date, :as => :my_date 
<% end %> 
+2

बिल्कुल सही जवाब। मेरा एकमात्र जोड़ा यह है कि आपको फ़ॉर्मटास्टिक :: सेमेन्टिकफॉर्मबिल्डर के बजाय हमारे MyTustomFormtasticFormBuilder को फ़ॉर्मटास्टिक कॉन्फ़िगर करने की आवश्यकता है, जिसे फॉर्मेटास्टिक के साथ प्रदान किए गए कॉन्फ़िगरेशन प्रारंभकर्ता में किया जा सकता है। –

4

Formtastic :: FormBuilder उपवर्ग मत करो अब और

यह पहले से Formtastic 1.x Formtastic :: FormBuilder अपने स्वयं के इनपुट को जोड़ने के लिए उपवर्ग में सिफारिश की थी। यह अब फॉर्मेटास्टिक 2 में अनुशंसित नहीं है, और उम्मीद के अनुसार काम नहीं करेगा।

https://github.com/justinfrench/formtastic

http://justinfrench.com/notebook/formtastic-2-preview-custom-inputs

संबंधित मुद्दे