如何设置允许用户仅编辑自己的个人资料的功能?编辑链接放在他们自己的显示页面中,如下所示:
<% 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。
但这不起作用,用户(具有作者角色)仍然可以在所有用户显示页面上查看和使用编辑按钮。
我在这里做错了什么?
非常感谢任何帮助,非常感谢!
答案 0 :(得分:4)
应该是:
<% if can? :update, @user %>
您需要传递实际的对象实例而不是类。