rolify

2012-07-05 28 views
12

का उपयोग कर विशिष्ट भूमिका वाले सभी उपयोगकर्ताओं को खोजें ROLify का उपयोग करते समय मैं सभी उपयोगकर्ताओं को विशिष्ट भूमिका के साथ कैसे प्राप्त कर सकता हूं? मैं निम्नलिखित की कोशिश की है, लेकिन यह मदद नहीं की:rolify

User.with_role :admin 

मैं निम्नलिखित त्रुटि मिलती है:

NoMethodError: undefined method `with_role' for #<Class:0x0000000743f9c0> 

किसी भी तरह से यह करने के लिए नहीं मिल सका।

+0

आप अन्य कार्यों rolify का उपयोग कर प्रदर्शन करने में सक्षम हैं। – Bijendra

+0

@GostRider अन्य परिचालन ऐसे उपयोगकर्ता को एक भूमिका जोड़ने के लिए सही ढंग से काम करता है। – RomanKapitonov

+0

बस नीचे दिए गए मेरे उत्तर की जांच करें .. इसे समस्या को ठीक करना चाहिए – Bijendra

उत्तर

23

आप संस्करण 3.1.0 में भूमिका रखने वाले सभी उपयोगकर्ताओं को खोजने के लिए उपयोगकर्ता श्रेणी के साथ with_role विधि का उपयोग कर सकते हैं।

User.with_role :admin 
+0

जांचें –

8

मैं इसे उन

admins = Role.find_by_name('admin').users 

है के लिए with_role विधि नहीं सभी उपयोगकर्ताओं के लिए वर्ग-स्तर पर, एक विशेष उपयोगकर्ता उदाहरण के लिए है भूमिका पूछना चाहते हैं। आप लागू करना चाहते हैं तो आप कुछ इस तरह कर दिया था कि:

#not 100% on this code, haven't tested it, but you get the idea. 
User < ActiveRecord::Base 
    def self.with_role(role) 
    my_role = Role.find_by_name(role) 
    where(:role => my_role) 
    end 
end 
1

आप

class User < ActiveRecord::Base 
    resourcify 
end 

पर भूमिकाओं डाल करने के लिए यह आप with_role उपयोग कर सकते हैं और साथ में मॉडल में resourcify उल्लेख किया है find_roles वर्ग विधियों।

+0

ऐसा करने की कोशिश कर रहा है: 'उपयोगकर्ता लोड (0.3ms)' उपयोगकर्ता 'चुनें। * उपयोगकर्ताओं के अंदरूनी भूमिकाओं से "भूमिकाएं" भूमिकाएं msgstr "resource_type" = 'उपयोगकर्ता' कहां (roles.name = 'user' और roles.resource_type = 'user') => # ' – RomanKapitonov

+0

यह एक मुद्दा था जिसे ठीक किया गया है, बस यह जांचें https://github.com/EppO/rolify/commit/da1ec59acda83b9114aeb410c99b1ce6e0866648 – Bijendra

+0

@innocent_rifle यह भी देखें https://github.com/EppO/rolify/issues/65 – Bijendra

0

यदि आप एक aditional की जरूरत है "जहां"

@courriers = User.where.not(latitude: nil, longitude:nil).with_role :Courrier