有人能指出我的文件吗?
我在Rails3应用程序中使用Devise + CanCan,并设置Ability.rb。
我想限制对编辑/删除用户路径的访问权限,具体取决于用户的角色。通常,Ability.rb类似于:
def initialize(user)
if user.role? :moderator
can :manage, User
end
end
但是在视图中我正在使用Devise注册路径进行编辑/删除:
<% if can? :update, @user %>
<%= link_to 'Edit', edit_user_registration_path(@user) %> |
<% end %>
“can:manage,User”似乎不适用于这些路径,并且无论角色如何,它们都保持隐藏状态。
如果我使用“can:manage,:all”,则主持人用户可以访问这些路径。
因此,“用户”显然不是正确的管理模式。我试过“设计”和“注册”,但没有用。
我应该使用什么价值 - “可以:管理,????” - 我在哪里可以找到解释原因的文件?
感谢您的任何指示!
答案 0 :(得分:3)
你面临的问题,我在上一个项目中遇到了他们 此链接将为您提供所有答案。
Rails-authentication-with-devise-and-cancan-restful-resources-for-administrators
希望它有所帮助。