Tom*_*man 46 ruby-on-rails cancan
您可以current_user使用can?以下方式从视图或控制器获取权限:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如何使用以下语法从模型访问此功能:
user.can?(:update, @article)
Run Code Online (Sandbox Code Playgroud)
jig*_*fox 68
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
Run Code Online (Sandbox Code Playgroud)
然后你可以检查这样的能力:
user.can?(:update,@article)
Run Code Online (Sandbox Code Playgroud)