Можно добраться current_user
полномочия от представления или использования контроллера can?
этим способом:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
Как может я получать доступ к этой функциональности из модели с помощью этого синтаксиса:
user.can?(:update, @article)
На github есть вики-запись для этого: https://github.com/ryanb/cancan/wiki/ability-for-other-users
Вам нужно изменить модель пользователя следующим образом:
class User < ActiveRecord::Base
def ability
@ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability
end
Затем вы можете проверить способности следующим образом:
user.can?(:update,@article)