我使用gem 'devise'
和'cancancan'
來定義用戶的角色。問題是,當我運行軌道服務器的說:undefined method 'admin?' for nil:NilClass
Ruby on Rail - 未定義的方法`admin?'爲零:NilClass
ability.rb:
class Ability
include CanCan::Ability
def initialize(user)
if user.admin?
can :manage, :all
else
can :read, :all
end
end
end
用戶模式:
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :projects
def admin?
self.admin
end
end
可能是什麼問題呢?
你沒有一個當前用戶如此失敗,你可以以同樣的方式附加保護條款或實施爲[能力文件(https://github.com/CanCanCommunity/cancancan/wiki/定義能力) – engineersmnky