2011-01-12 17 views
7
साथ

अरे मुझे आशा है कि आप मेरी मदद कर सकते हैं:कैनकन त्रुटि 'अपरिभाषित विधि भूमिका?' वसीयत

मैं इस ट्यूटोरियल

http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/ के माध्यम से जा रहा था और मैं कदम से हर कदम था।

मुझे बिल्कुल यकीन नहीं था कि भूमिका कहां रखना है? - ट्यूटोरियल से विधि, क्योंकि यह नहीं कहता कि इसे कहां रखा जाए।

अब यह मुझे इस त्रुटि देता है जब मैं sign_up चाहते हैं या Sign_in

बहुत धन्यवाद

उत्तर

14

आप उपयोगकर्ता मॉडल में यह जोड़ने की जरूरत है (app/models/user.rb)

class User < ActiveRecord::Base 
    has_and_belongs_to_many :roles 
    devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable 

    def role?(role) 
     return !!self.roles.find_by_name(role.to_s.camelize) 
    end 
end 
+0

मुझे एक ही चीज़ मिल गई ... tkz – Roberto

+0

@Sinetris धन्यवाद श्रीमान। मेरे पास दो प्रश्न हैं: (i) डबल उद्घोषणा चिह्न का अर्थ क्या है "!!" और (ii) अगर मैं उपयोगकर्ता कंसोल में हूं, तो User.roles को एक सक्रिय रिकॉर्ड संग्रह के साथ आना चाहिए, क्या यह सही है? आपकी पोस्ट के लिए धन्यवाद – BKSpurgeon

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