Действительно запутался. Роли настроены и работают в соответствии с одной ролью для пользовательского метода . Моя модель пользователя ниже.
class User < ActiveRecord::Base
ROLES = %w[admin landlord]
def role?(role)
roles.include? role.to_s
end
end
Когда я добавляю разрешения к своей модели способностей, я получаю следующую ошибку.
undefined method `role' for #<ActionDispatch::Session::AbstractStore::SessionHash:0x10433a5e0>
Моя модель способностей ниже.
class Ability
include CanCan::Ability
def initialize(user)
if user.role == "admin"
can :manage, :all
else
can :read, :all
end
end
end
А вот что я вижу в терминале.
NoMethodError (undefined method `role' for #<ActionDispatch::Session::AbstractStore::SessionHash:0x1044d46a8>):
app/models/ability.rb:5:in `initialize'
app/controllers/application_controller.rb:6:in `new'
app/controllers/application_controller.rb:6:in `current_ability'
Как вы можете сказать, я только учусь! Даже толчок в правильном направлении был бы удивительным. Спасибо.