2012-11-11 11 views
5

पर कैनकन अनुमतियों को क्रमबद्ध करें मैं सोच रहा था कि क्या कोई जानता है कि कैनकन को कैम्बियन अनुमतियों को क्रमबद्ध करने के लिए कैसे करें। मैंने यह StackOverflow Q & A Jo_Liss द्वारा देखा जहां उसने बताया कि Serialize permissions (e.g. CanCan) with active_model_serializers, लेकिन उस स्तर पर रुक गया। this article linked to here, talks on how to check permission on the emberjs side, लेकिन बैकएंड से एम्बरज में अनुमति को क्रमबद्ध करने के तरीके के बारे में कुछ भी नहीं।Emberjs

मुझे उम्मीद है कि 'व्यवस्थापक', 'लेखक', 'उपयोगकर्ता' 3 प्रकार की उपयोगकर्ता भूमिकाएं होंगी और एम्बरजेस पर कैनकन अनुमतियों का उपयोग करना चाहेंगे ताकि वे लॉग-इन मार्ग में पहुंचने के बाद पहुंच सकें ।

उत्तर

9

आप उन कैनकैन की क्षमता को क्रमानुसार करने UserSerializer उपयोग कर सकते हैं:

class UserSerializer < ActiveModel::Serializer 
    attributes :id, :name, :email, :ability 

    def ability 
    Ability.new(self).as_json 
    end 
end 

ऐसा ही कुछ वापस आ जाएगी:

user: { 
    id: 1, 
    name: "xxx", 
    email: "xxx", 
    ability: rules: [ 
    { 
     match_all: false, 
     base_behavior: false, 
     actions: [ 
     "edit" 
     ], 
     subjects: [ 
     "user" 
     ], 
     conditions: { }, 
     block: null 
    }, 
    { 
     match_all: false, 
     base_behavior: true, 
     actions: [ 
     "read" 
     ], 
     subjects: [ 
     "user" 
     ], 
     conditions: { }, 
     block: null 
    } 
    ] 
} 

आप कर सकते हैं के कुछ प्रकार लागू करने के लिए की आवश्यकता होगी? और नहीं कर सकता क्षमताओं को संसाधित करने के लिए जावास्क्रिप्ट में सहायक।

उम्मीद है कि मदद करता है।

+0

स्पष्टीकरण के लिए धन्यवाद delwyn। – brg

+1

** उपयोगकर्ता प्राधिकरण की जांच करने के लिए किसी प्रकार की 'कैन' या 'कैन रीड' संपत्ति को परिभाषित करने का एक संभावित तरीका ** लूप ** http: //jsfiddle.net/machty/Wjtcj/ को बंद करने के लिए यहां देखा जा सकता है 31/** और ** http: //stackoverflow.com/questions/13372214/emberjs-1-x-pre-ember-router-and-ember-computed-issues/13393756#comment18297460_13393756** – brg

संबंधित मुद्दे