मैं रेल आवेदन पर रूबी पर काम कर रहा हूं। एक सत्र नियंत्रक के लिए, मैं यह जांचने के लिए एक केस का उपयोग करना चाहता हूं कि उपयोगकर्ता का खाता लॉक है या प्रतिबंधित है या नहीं। मैं इस मामले के रूप में कक्षा के ऑब्जेक्ट का उपयोग करने की कोशिश कर रहा हूं, और विशेषताओं को जांचने के लिए उपयोग करता हूं।रेल केस/स्विच पर रूबी। ऑब्जेक्ट के खिलाफ कैसे मिलान करें?
उदाहरण के लिए,
user = Profile.find(1)
case user
when user.ban
redirect_to()
when user.lock
redirect_to()
else
redirect_to()
end
केवल समस्या यह है कि काम नहीं करता है।
क्या काम यह है करता है:
case user.ban
when true
redirect_to()
else
redirect_to()
end
कैसे मैं यदि कोई उपयोगकर्ता वस्तु पर प्रतिबंध लगा दिया या लॉक हो गया है एक स्विच का उपयोग की जाँच के बारे में जा सकते हैं पर कोई सलाह?
धन्यवाद
सभी उत्तर के लिए धन्यवाद बराबर है। मैंने ज़ेप्लॉक का जवाब मेरे आवेदन के लिए सबसे उपयोगी पाया। एकमात्र अंतर यह है कि मैंने विधि और मामले में प्रतीकों का उपयोग किया। यहाँ विधि मैंने लिखा है: डीईएफ़ स्थिति अगर self.ban वापसी: प्रतिबंध अंत अगर self.lock वापसी: अंत अंत ताला – Brian
@Brian: बस थोड़ा Rubify करने के लिए - एक समारोह एक बूलियन वापस लौट आता है, यह एक प्रश्न चिह्न के साथ नाम देने के लिए एक अच्छा रूप है। इसके अलावा, भले ही पोस्ट-मॉडिफायरों का दुर्व्यवहार किया जा सके और सुगमता को नुकसान पहुंचाया जा सके, इस मामले में मुझे लगता है कि वे इसे सुधारने के लिए काम करते हैं: 'डीफ़ स्टेटस; वापसी: प्रतिबंधित अगर प्रतिबंधित है ?; वापसी: लॉक होने पर बंद कर दिया गया? अंतराल – Amadan