считайте, что в вашей таблице ролей есть поле 'name', и в нем есть какое-то содержимое ('admin', 'guest' и т. Д.)
откройте ваше приложение app / models / user.rb и добавьте метод ниже
def admin?
self.roles.find_by_name('admin') ? true : false
# since one user has many roles you should find by role name
# whether it has role with name admin
# if it find the record the method will return true
end
в ваших способностях. Rb вы можете установить следующим образом:
class Ability
include CanCan::Ability
user ||= User.new # guest user (not logged in)
if user.admin? # I changed admin to admin? to match method above
can :manage, :all
else
can :read, :all
end
end