2011-06-13 45 views
1

如何設置允許用戶只編輯自己的配置文件的功能?編輯鏈接放在自己的頁面顯示,像這樣:如何使用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了。

但是,這不起作用,用戶(作者的角色)仍然可以看到並使用所有用戶顯示頁面上的編輯按鈕。

我在這裏做錯了什麼?

非常感謝任何幫助,非常感謝!

回答

4

應該是:

<% if can? :update, @user %> 

你需要,而不是通過類的實際對象實例。

+0

非常感謝它現在的作品! – Dave 2011-06-13 21:49:47

相關問題