2010-09-23 14 views

उत्तर

9

मैं कैनकैन और Mongoid (संस्करण 2) एक साथ बहुत अच्छी तरह से पर काम करने के पाने के लिए प्रबंधित किया है एक रेल 3 एप। अभी भी अनुमति परिभाषा (क्षमता मॉडल) में स्थितियों से संबंधित कुछ त्रुटियां प्राप्त करें।

हालत हैश ActiveRecord के साथ के रूप में लगभग एक ही हैं::

# can only manage own account 
can :manage, User, :_id => current_user.id 

मैं सिर्फ config/initializers में एक फ़ाइल में इस सार की सामग्री डाल

मैं अभी भी अधिक उन्नत Mongoid :: मानदंड स्थितियों का उपयोग करने के तरीके पर काम कर रहा हूं, लेकिन आप हमेशा जटिल परिस्थितियों के लिए एक ब्लॉक का उपयोग कर सकते हैं:

# can only manage own account 
can :eat, Cake do 
    current_user.jobs.any?{ |job| job.title == 'Peasant'} 
end 
+0

धन्यवाद। आशा है कि आप एक्सटेंशन को मणि –

+0

के भविष्य के संस्करण में जोड़ा जाएगा आपका स्वागत है। Mongoid भयानक है और कैनकन भी है। मैं कैनकन के लिए एक काम करने वाला पैच एक साथ रखने की कोशिश करूंगा ताकि यह व्यवहार लाइब्रेरी में कुछ भी जोड़ने की ज़रूरत के बिना शामिल हो। वैसे, मैंने उस जटिलता के लिए कुछ महत्वपूर्ण अपडेट किए हैं जो जटिल परिस्थितियों के लिए अनुमति देते हैं। मैं नवीनतम जिस्ट संस्करण का उपयोग करने की सलाह देता हूं, क्योंकि मेरे द्वारा पहले किए गए संस्करण में कुछ कठिन-पहचान-लेकिन महत्वपूर्ण बग उत्पन्न हुई थीं। – bowsersenior

+1

मेरे एक्सटेंशन इसे कैनकन में बनाते हैं। गीथब पर नवीनतम संस्करण अब मोंगोइड का समर्थन करता है: रूबीगेम्स से https://github.com/ryanb/cancan/pull/172 और संस्करण 1.5 में मोंगोइड समर्थन भी होगा। – bowsersenior