मैंने डेविस और कैनकन के साथ एक रेल एप्लिकेशन शुरू कर दिया है। मेरे पास ऐसे उपयोगकर्ता हैं जिनके लेखों में से एक से अधिक संबंध हैं। मैं कैनकैन के लिए नया हूँ, यहाँ मैं क्या करने की योजना बना रहा हूँ है:कैनकन - उपयोगकर्ताओं को केवल अपनी ऑब्जेक्ट्स को अपडेट और हटाने की अनुमति कैसे दें
व्यवस्थापक
- लेख
प्रवेश प्रयोक्ता से किसी भी कार्रवाई कर सकते हैं
- लेख पढ़ और बना सकते हैं
अतिथि उपयोगकर्ता
- संपादित कर सकते हैं और नष्ट अपने ही लेख लेख
पढ़ सकते हैं लेकिन मैं मुसीबत कैनकैन की वाक्य रचना को समझने आ रही है। मैं समझता हूं कि यह ऐसा कुछ होगा।
def initialize(user)
user ||= User.new
if user.admin?
can :manage, Article
else
can :read, Article
end
end
लेकिन यह सिर्फ व्यवस्थापक और अतिथि उपयोगकर्ता के लिए है, मुझे यकीन है कि उपयोगकर्ता में एक लॉग इन से एक अतिथि उपयोगकर्ता अंतर करने के लिए कैसे, क्योंकि यह एक नया उपयोगकर्ता वस्तु बनाता है जब उपयोगकर्ता खाली है नहीं कर रहा हूँ। मैंने देखा है कि कोड इस can [:edit, :destroy], Article, :user_id => user.id
जैसा कुछ होना चाहिए, लेकिन मुझे यकीन नहीं है कि यह प्रारंभिक विधि में कैसे फिट होगा।
और एक आखिरी सवाल, यदि मैं केवल मेहमानों पर can :read, Article
परिभाषित करता हूं, तो क्या यह अन्य क्रियाओं को ब्लॉक और अपडेट करता है, जैसे कि सफेद कार्रवाई को पढ़ने की कार्रवाई?
किसी भी मदद की सराहना की जाएगी। आपका बहुत बहुत धन्यवाद!
दृश्य अच्छा नहीं दिखता है, लेकिन यह प्रश्न विषय से संबंधित नहीं है, जो आपकी क्षमता में अच्छी तरह से कवर लगता है। आरबी। –
मैं स्वयं निर्मित हेल्पर्स का उपयोग कर रहा हूं, जैसे link_to_edit, link_to_destroy, आदि। मेरे सहायक में कॉल करने के लिए कॉल शामिल हो सकता है?(), इसलिए तर्कों के अंदर तर्क डालने की कोई आवश्यकता नहीं है। –