ruby-on-rails - manage - rails authentication
Acceda al método `can?` De CanCan desde un modelo (1)
Hay una entrada de wiki en github para esto: http://wiki.github.com/ryanb/cancan/ability-for-other-users
Necesitas cambiar tu modelo de usuario así:
class User < ActiveRecord::Base
def ability
@ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability
end
Entonces puedes comprobar habilidades como esta:
user.can?(:update,@article)
Puede obtener los permisos del current_user
desde una vista o un controlador usando can?
de esta manera:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
¿Cómo puedo acceder a esta funcionalidad desde un modelo utilizando esta sintaxis:
user.can?(:update, @article)