1
我正試圖在我的Rails應用程序中使用Cancan進行身份驗證,並且遇到了麻煩。我在我的用戶表中有兩列,名爲admin和owner,它們都是布爾型的。我的ability.rb文件檢查這是否爲真,然後提供適當的權限。看起來,沒有登錄的用戶的權限和作爲管理員的用戶的權限。但是,擁有者的許可似乎並不奏效。我無法查看使用此權限的視圖中的鏈接。如何使用Cancan修復權限錯誤?
我已經把load_authorize_resource放在了我的PlacesController的頂部。
def initialize(user)
user ||= User.new # Guest user
if user.admin?
can :manage, :all
else
can :read, :all
if user.owner?
can :create, Place
end
end
# can :read, :all
end
我能夠認爲這是管理員,但不是作爲一個老闆......但我應該能夠作爲所有者。
<% if can? :create, @place %>
<%= link_to 'New place', new_place_path %>
<% end %>