您可以使用can?
以以下方式从视图或控制器获取current_user
的权限:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
我如何使用这个语法从一个模型中访问此功能:
user.can?(:update, @article)
您可以使用can?
以以下方式从视图或控制器获取current_user
的权限:
<% if can? :update, @article %>
<%= link_to "Edit", edit_article_path(@article) %>
<% end %>
我如何使用这个语法从一个模型中访问此功能:
user.can?(:update, @article)
这个问题在github上有一个wiki条目:https://github.com/ryanb/cancan/wiki/ability-for-other-users
你需要按照以下方式更改你的User模型:
class User < ActiveRecord::Base
def ability
@ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability
end
然后您可以这样检查权限:
user.can?(:update,@article)
cannot
方法、定义别名和创建条件语句等内容。此外,还提供了一些示例代码来说明如何实现这些功能。 - vmarquet