0
我修改了我的設計表,用戶,有一個清除列。此列是表示用戶權限(讀取,讀取/寫入,完全控制)的數字(1-3)。與我正在閱讀的所有示例不同,我的 Clearance(示例中的角色)不是具有關係的獨立表,而是Devise表(User)中的自己的列。它的默認值是1康康和設計不工作
我ability.rb看起來是這樣的:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.clearance.equal?("2")
can :create, Post
can :manage, Post, :user_id => user.id
else
can :read, :all
end
end
end
我寫這關我見過的其他例子(我真的很新的Rails,但是想不請求幫助,除非絕對必要),意圖使用許可值爲2的用戶可以創建帖子並僅管理帖子。我還包括了,因爲我還沒有爲1和3編寫代碼,所有其他清除數字都可以讀取所有內容。
然而,Cancan認爲,我的用戶(確認通關等級2)屬於「其他」規定,因此我只能閱讀帖子。我得到一個你沒有權限訪問此頁面的消息,如果我嘗試做一個新的。 我迷路了。幫幫我?
就是這樣。謝啦。就像我說的,我是新的。但我在學習。一旦Stack讓我看,我會盡快檢查你的答案。 – 2012-07-29 19:35:45