2012-06-22 11 views
15

नहीं बना रहा है, मैं mongoid और simple_form से शुरू कर रहा हूं। यदि मेरे पास मॉडल है: type => बूलियन और इसे = f.input के साथ एक (हैमल) दृश्य में प्रस्तुत करें, यह एक टेक्स्ट इनपुट फ़ील्ड बनाता है जो चेकबॉक्स नहीं है।मोंगोइड और सरल_फॉर्म, बूलियन प्रकार चेकबॉक्स

डॉक्टर कहता है कि बूलियन मानचित्र चेकबॉक्स में हैं लेकिन मुझे संदेह है कि बूलियन और बूलियन को समान नहीं किया जाता है।

मैं जोड़ने के साथ चारों ओर काम कर सकता हूं: as => बूलियन सरल_फॉर्म पर।

1) क्या यह अपेक्षित है या क्या मैं कुछ गलत कर रहा हूं? 2) क्या बूलियन के सामान्य मैपिंग को सरल_फॉर्म में जोड़ने का कोई तरीका है? 3) क्या मुझे इसे सही करने के लिए simple_form के लिए कोई समस्या उत्पन्न करनी चाहिए?

अग्रिम धन्यवाद।

+1

मैं इस सवाल को बंद करने से असहमत हूं। यह एक वास्तविक समस्या है। simple_form f.input एक बूलियन मान को संभाल नहीं सकता है और अपेक्षित चेकबॉक्स प्रस्तुत नहीं कर सकता है। Simple_form इसके बजाय एक टेक्स्ट फ़ील्ड प्रस्तुत करता है (सत्य या गलत मान के साथ)। काफी परेशान (विशेष रूप से सरल_फॉर्म जैसे नाम के साथ ;-(। यदि आप रेल मानक मानक मददगार का उपयोग करते हैं तो यह ठीक काम करता है। –

+2

चूंकि इसे किसी कारण से बंद कर दिया गया है। यहां मैंने जो किया है। उम्मीद है कि यह मदद करता है। <% = F। इनपुट: सक्रिय, लेबल => झूठी,: inline_label => "सक्रिय?",: as =>: बूलियन%> –

+0

मुझे लगता है कि शायद मॉडरेटर ने इसे बंद कर दिया क्योंकि उन्होंने यह नहीं देखा कि बूलियन (ऑब्जेक्ट) एक जैसा नहीं है बूलियन (आदिम) के रूप में और इसलिए सोचा कि इसका कोई मतलब नहीं है। शायद? –

उत्तर

12

दुर्भाग्य से, simple_form वर्तमान में Mongoid के साथ "स्वचालित रूप से" काम नहीं करता है। आपको as: :boolean निर्दिष्ट करना होगा।

संकेत हैं कि लोग मोंगोइड एकीकरण चाहते हैं, लेकिन मुझे नहीं लगता कि यह अभी तक हुआ है। तो, इसे एक शॉट क्यों न दें? यहाँ समस्या ट्रैकर से कुछ प्रासंगिक टिकट हैं:

0

दाऊद उल्लेख किया है Mongoid इस पल में SimpleForm द्वारा समर्थित नहीं है, लेकिन आप जल्दी से Mongoid पैच कर सकते हैं: : उन्हें अच्छी तरह से खेलने के लिए दस्तावेज़:

module Mongoid 
    module Document 
    ARFakeColumn = Struct.new(:type, :limit, :number?) 

    def column_for_attribute(attribute_name) 
     attribute_name = attribute_name.to_s 
     column_name = aliased_fields[attribute_name] || attribute_name 
     if fields[column_name] && fields[column_name].options[:type] == Mongoid::Boolean 
     ARFakeColumn.new(:boolean, 100) 
     else 
     ARFakeColumn.new(:string, 100) 
     end 
    end 
    end 
end 
संबंधित मुद्दे