2011-01-12 22 views
7

Hey Tôi hy vọng bạn có thể giúp tôi:Lỗi CanCan 'vai trò phương pháp không xác định?' với lập mưu

Tôi đã đi qua hướng dẫn này

http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/ và tôi đã từng bước từng bước một.

Tôi đã không chắc chắn nơi để đặt vai trò? -method từ hướng dẫn, bởi vì nó không nói nơi để đặt nó.

Bây giờ nó mang lại cho tôi lỗi này khi tôi muốn sign_up hoặc Sign_in

Rất cám ơn

Trả lời

14

Bạn cần phải thêm nó vào mô hình người dùng (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

tôi có cùng một điều ... tkz – Roberto

+0

@Sinetris cảm ơn ngài. Tôi có hai câu hỏi: (i) các dấu ấn kép có nghĩa là "!!" và (ii) nếu tôi "m trong bảng điều khiển người dùng, thì User.roles sẽ đưa ra một bộ sưu tập bản ghi hoạt động, điều này có đúng không? Cảm ơn bạn đã đăng bài – BKSpurgeon

Các vấn đề liên quan