Пропуск одного рельса в CanCan - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть пользовательский контроллер с несколькими обычными методами. Моя способность.rb настроена, но мне нужны незарегистрированные пользователи, чтобы не иметь дело с этим одним действием. Я попытался выполнить все перечисленные ниже действия в файле powers.rb для пользователей, не вошедших в систему, но это ничего не изменило. Я все еще получаю несанкционированную ошибку.

can :create, User
can :update, User
can :edit, User
can :modify, User

Затем я попытался создать запись в моей способности. Rb

can :do_this_action, User

И поместите это в Users Controller

authorize!(:can_do_this_action, User.new || @user)

Все еще не повезло ..

Наконец, я попытался пропустить действие. Я сделал это с помощью моего контроллера пользователей:

skip_authorization_check :only => [:create, :new, :custom_method ]
authorize_resource

Это все еще дает моему пользовательскому методу несанкционированную ошибку. Кто-нибудь есть идеи, где я иду не так? Заранее спасибо.

1 Ответ

5 голосов
/ 08 февраля 2012

Попробуйте использовать этот помощник, как :before_filter:

load_and_authorize_resource :only => [:index, :show] #or use :except
...