मैंगोडब के साथ काम करने के लिए मैं रेल और मोंगोइड का उपयोग कर रहा हूं।mongdb के साथ सरल बूलियन डेटा अपडेट?
आम तौर पर सक्रिय: रिकॉर्ड के साथ काम करते समय रेल में, आपके पास विधि तक पहुंच है। टॉगल! जो आपको बस अपने डीबी में एक बूलियन क्षेत्र के मूल्य को उलटा करने की अनुमति देता है।
दुर्भाग्य से इस विधि MongoDB के लिए उपलब्ध नहीं है:
user = User.first
user.toggle!(:admin)
NoMethodError: undefined method `toggle!' for #<User:0x00000100eee700>
यह दुर्भाग्य की बात है ... और मूर्खता से पर्याप्त मैं कुछ जटिल कोड के बिना चारों ओर पाने के लिए नहीं दिख रहा है ...
कोई संक्षेप में एक ही परिणाम कैसे प्राप्त करें इस पर सुझाव?
धन्यवाद,
एलेक्स
पुनश्च: यह भी समस्याओं में से एक यह है कि जब मैं मैदान संशोधित करना चाहते हैं, यह फिर से सत्यापन के माध्यम से चला जाता है ... और इसके लिए पूछ रहा है: पासवर्ड, जो मैं डॉन 'टी DB में बचाने के लिए, तो:
User.first.admin = !User.first.admin
भी काम नहीं करेगा :(
यह वास्तव में अद्भुत है! वास्तव में मैं क्या देख रहा था ... :) मुझे सिंटैक्स भेजने के साथ नहीं पता था? मुझे यकीन नहीं है कि यह वास्तव में क्या करता है? – Alex
'send' किसी ऑब्जेक्ट को" ("संदेश भेजता है") को एक ऑब्जेक्ट का आह्वान करता है। '@ foo.bar (: baz)' 'foo.send (" bar ",: baz) जैसा ही है '- चूंकि आप भेजने के साथ विधि नाम निर्दिष्ट करते हैं, तो आप चर और ऐसे पास कर सकते हैं। रूबी मेटाप्रोग्रामिंग में इसका अत्यधिक उपयोग किया जाता है। स्पष्टीकरण के लिए –
धन्यवाद। हालांकि पूरी तरह से परीक्षण करने के बाद यह वास्तव में सभी सत्यापन को बाईपास नहीं करता है। मेरे पास validates_length_of है: पासवर्ड,: न्यूनतम => 6, अधिकतम => 40, और टॉगल का उपयोग करके मुझे पासवर्ड की लंबाई पर एक त्रुटि होगी ... :(लेकिन मान्यताओं पर नहीं, आदि। और यह छोड़ देता है attr_accesible, आदि। लंबाई लंबाई के अलावा यह लगभग सही है – Alex