Вам нужно добавить это в свой ApplicationController, если вы этого еще не сделали:
before_filter :set_current_user
protected
def set_current_user
Authorization.current_user = current_user
end
Тогда ваши правила будут выглядеть так:
has_permission_on :users, :to => [:edit, :update, :destroy] do
if_attribute :user => is { user }
end
Насколько я знаю, Declarative_authorization не вызывает никаких методов в контроллере и не знает, что означает current_user
в вашем примере, но дает вам экземпляр Authorization.current_user
с именем user
, который вы можете использовать. в вашем authorization_rules.rb
файле.