如何解决如何使用cancan阻止用户编辑其他用户的个人资料?
| 如何设置允许用户仅编辑自己的个人资料的功能?编辑链接放置在自己的显示页面中,如下所示:<% if can? :update,User %>
<div class=\"button\">
<%= link_to \'edit my profile\',edit_user_path(@user) %>
</div>
<% end %>
该功能当前如下所示:
if user.role == \"author\"
can :create,Review
can :update,Review do |review|
review.try(:user) == user
end
can :update,User,:id => user.id
end
我的用户控制器中也有load_and_authorize_resource。
但这是行不通的,该用户(具有作者角色)仍可以查看并使用所有用户显示页面上的编辑按钮。
我在这里做错了什么?
非常感谢您提供的任何帮助!
解决方法
应该:
<% if can? :update,@user %>
您需要传递实际的对象实例而不是类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。