0
我在我的控制器的動作,看起來像下面這樣:Rails的:與慘慘寶石發行授權用戶
def show
@user = User.find(params[:user_id])
# ... more stuff.
end
注意,我重寫資源的加載作爲康康舞試圖與params[:id]
和加載我需要在這裏使用params[:user_id]
。
我的控制器的頂部有如下定義:
authorize_resource :only => [:show]
而且在Ability.rb:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
can :show, User if :id == user.id
end
end
我所有的調用都是非法但是。我正在使用設計進行身份驗證,並且我正在驗證傳入初始化的user
對象確實是已登錄的用戶。我如何確認已登錄的user
只能查看他們要求的配置文件,而沒有其他配置文件?
authorize_resource :only => [:show]
相反,你需要將其刪除,並授權添加到您的行動或單獨的before_filter: