2011-01-12 3 views
7

でちょっと私はあなたが私を助けることを願って:CanCanエラー '未定義のメソッドロールですか?'工夫

私はこのチュートリアル

http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/を通過したと私はステップバイステップごとをしました。

チュートリアルのどこに役割を置くのか、私は確信していませんでした。

今、私はあなたはユーザーモデル(app/models/user.rb)でそれを追加する必要があります多くのおかげ

答えて

14

をsign_upかSign_in

したいとき、それは私にこのエラーが発生します

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ありがとうございます。私は2つの質問があります:(i)二重の鼓動マークは "!!" (ii)ユーザーコンソールでUser.rolesにアクティブなレコードコレクションが必要な場合は、これは正しいですか?あなたの投稿をありがとう – BKSpurgeon