rails manage gema cancancan all ability ruby-on-rails cancan

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)