У меня возникла странная проблема с использованием Rolify (нажмите, чтобы перейти к руководству, которому я следую) с Rails: похоже, что метод can
не работает, поэтому привилегии пользователя становятся непригодными. Ниже мой файл ability.rb
и вывод консоли, где демонстрируется проблема.
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.has_role? :admin
can :manage, :all
else
can :read, :all
end
end
end
Консольные тесты ($ rails console
)
user = User.find(2)
user.add_role "admin"
user.has_role? :admin
=> **true**
ability = Ability.new(user)
ability.can? :manage, :all
=> **false**
ability.can? :read, :all
=> **false**
Я также проверил базу данных, и все отношения настроены правильно. Я запускаю рельсы 3.2.13.
:all
при тестированииability.can?
? - person PinnyM   schedule 09.04.2013