나는 cancan을 사용 권한으로 사용하고 있으며 사용자가 자신의 프로필/사용자 페이지를 방문 할 때 다른 사용자를 볼 수 없도록하고 싶습니다. 사용자는 자신을 볼 수 있어야합니다. 내 ability.rb 파일에서Cancan 사용자 권한이 필요하십니까?
나는 위는 일반적으로 작동하지만 사용자가 기본 모델이기 때문에 내가 해결할 수있는 방법을 잘 모르겠습니다 내가
class UsersController < ApplicationController
before_filter :authenticate_user!
load_and_authorize_resource
def index
@user = current_user
end
def show
@user = User.find(params[:id])
end
end
을 내 users_controller에서
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.role? :admin
can :manage, :all
elsif user.role? :rookie
can [:update, :destroy], [Album, Photo, User]
can :read, :all
end
can :manage, Album, :profile => { :user_id => user.id }
can :manage, Photo, :profile => { :user_id => user.id }
can :manage, Video, :profile => { :user_id => user.id }
can :manage, Comment, :blog => { :profile => { :user_id => user.id } }
can :manage, User, :id => user.id
end
end
이 이.
#ability.rb:
can :manage, User, :id => user.id
근무했지만 다른 사용자가 볼 수 있습니까? 어떤 제안? – coletrain
당신의 역할은 무엇입니까? –
내 역할은 신인 및 관리자입니다. – coletrain