2011-04-11 63 views
2

我在應用程序中使用CanCan和Devise進行身份驗證過程,並且所有工作都完美無缺。通過模型關係授權與CanCan的行動

但是,我們有一個用戶可以創建項目列表的設置。

List模型有一個user_id,auth可以正常工作,但是items的所有權是通過List:has_many Item關係處理的,而Item實際上並沒有user_id列。

CanCan如何處理此問題?

我試圖

can :manage, Item do |item| 
    item.list.user_id = user.id 
end 

但輸入URL上的項目編號給予每個項目的每個用戶的訪問,無論列表的所有權。

我無法找到任何東西,似乎在慘慘的GitHub上的維基來彌補這一所以希望有人在這裏也許能幫助

展望評論 感謝

回答

5

你混淆===

can :manage, Item do |item| 
    item.list.user_id == user.id 
end 
+1

我是個正式的白癡......不敢相信我錯過了那個。只是在幾個小時後才能看到你有時無法看到樹木的東西。感謝您指出明顯如此溫和:) – fullybaked 2011-04-11 08:17:04