2014-04-14 6 views
5

पर्यावरण मैक ओएस एक्स रेल पाया 4.0.4 रूबी 2.1.1 simple_formकोई इनपुट के लिए json

रत्न: simple_form

एक json टाइप किया क्षेत्र, यहाँ मेरी माइग्रेशन फ़ाइल के साथ एक मॉडल बनाएँ:

create_table :my_model do |t| 
    t.string :name 
    t.json :my_field 

    t.timestamps 
end 

और अब जब मैं एक नई वस्तु (नया फार्म) बनाने का प्रयास करें, मुझे यह त्रुटि

०१२३५१६४१० हो रही है
RuntimeError - No input found for json: 
    simple_form (3.0.2) lib/simple_form/form_builder.rb:551:in `find_mapping' 
    simple_form (3.0.2) lib/simple_form/form_builder.rb:482:in `find_input' 
    simple_form (3.0.2) lib/simple_form/form_builder.rb:111:in `input' 

मुझे लगता है कि सरल_फॉर्म JSON प्रकार को बहुत अच्छी तरह से संभाल नहीं रहा है, और मुझे वास्तव में यह नहीं पता कि इस के आसपास कैसे काम करना है (simple_form के साथ नौसिखिया)।

आशा है कि आप मदद कर सकते हैं

उत्तर

7

simple_form, मूल रूप से JSON प्रकार का समर्थन नहीं करता। लेकिन जैसा कि यह पता चला है, जेएसओएन टेक्स्ट आधारित डेटा प्रारूप है, आप आउटपुट जेसन के लिए टेक्स्टरेरा का उपयोग कर सकते हैं।

<%= f.my_field, as: :text %> 

इस ठीक

1

अल्पविराम मत भूलना काम करना चाहिए, <%= f.input, as: :text %>

+0

यह प्रश्न का उत्तर नहीं देता है। किसी लेखक से स्पष्टीकरण की आलोचना या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/16880487) – the4kman

0

तुम भी कस्टम इनपुट मैपिंग परिभाषित करने के लिए प्रारंभकर्ता में निम्न पंक्ति डाल सकते हैं।

SimpleForm::FormBuilder.map_type :json, to: SimpleForm::Inputs::TextInput 
संबंधित मुद्दे