您可以使用current_user
以这种方式从视图或控制器获取can?
的权限:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
如何使用以下语法从模型访问此功能:
user.can?(:update, @article)
答案 0 :(得分:67)
github上有一个wiki条目:http://wiki.github.com/ryanb/cancan/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)