1
我正在使用CanCan on Rails 4(cancancan),我想只授權當前用戶訪問設置頁面。防止用戶訪問頁面,如果不是當前用戶
例如,用戶ID 1應該只是訪問/設置/ 1。用戶ID 1不應該能夠查看/設置/ 2或任何其他ID。
我的角色是:管理員,用戶,客人,禁止
Ability.rb:
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
else
can :read, :all
end
end
end
用戶控制器:
def settings
@user = User.find(params[:id])
end
您是否將'settings'定義爲路由中的資源?如果是的話,也許將其改爲資源將是一個很好的解決方案。我的意思是任何用戶只存在一個(自己)設置頁面。 – gotva
到目前爲止,這有什麼好運氣? – zeantsoi