2010-07-20 17 views
44

current_user 'in izinlerini bu görünümde can? kullanarak bir görünümden veya denetleyiciden alabilirsiniz:Bir modelden Cancan'ın "can?" Yöntemine erişme

 <% if can? :update, @article %> 
    <%= link_to "Edit", edit_article_path(@article) %> 
    <% end %> 

Bu işlevselliği bu sözdizimini kullanarak bir modelden nasıl kullanabilirim:

user.can?(:update, @article) 
+4

İyi soru. Ayrıca iyi bir cevap aldığına sevindim! – Andrew

cevap

62

bunun için github bir wiki girişi var

class User < ActiveRecord::Base 
    def ability 
    @ability ||= Ability.new(self) 
    end 
    delegate :can?, :cannot?, :to => :ability 
end 

Sonra böyle yeteneklerini kontrol edebilirsiniz:

user.can?(:update,@article) 
İlgili konular