从模型中访问CanCan的`can?`方法
你可以使用can?
从视图或控制器中获取current_user
的权限can?
以这种方式:
<% if can? :update, @article %> <%= link_to "Edit", edit_article_path(@article) %> <% end %>
如何使用此语法从模型中访问此function:
user.can?(:update, @article)
在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)