CanCan을 사용하여 내 권한을 처리하려고합니다. 내 사이트에는 다양한 권한 수준이 있으며 대부분은 상황을 인식합니다. 예를 들어, 내 3 대 모델의 관계는 다음과 같습니다.CanCan을 사용하여 상황 인식 권한 부여
class User < ActiveRecord::Base
has_many :league_relations
has_many :leagues, :through => :league_relations
end
class League < ActiveRecord::Base
has_many :league_relations
has_many :users, :through => :league_relations
end
class LeagueRelation < ActiveRecord::Base
belongs_to :user
belongs_to :league
end
참고 리그 리그는 리그의 중첩 된 리소스입니다. 내가하고 싶은 일은 사용자가 리그를 수정하고 league_relation에 저장된 데이터를 기반으로 각 사용자의 권한을 측정하는 것입니다. 그런 다음 사용자가 사용자 관계에 저장된 데이터 만 기반으로 리그 관계를 수정하길 원합니다.
간단 명료하게 말하자면, 기본적으로 LeagueRelations를 사용하여 리그 동작을 인증하고 User를 사용하여 LeagueRelations 동작을 인증하기를 원합니다. 즉 리그를 삭제하려면 league_relation.owner = true이지만 사용자는 소유자입니까? LeagueRelation을 삭제하려면 true 여야합니다. 리그 컨트롤러 내부에서 league_relation의 속성을 기반으로 권한을 부여하고 다른 컨트롤러의 다른 컨트롤러에서 다른 작업을 인증 할 수있는 방법은 무엇입니까? 더 자세한 설명이 필요하면 의견을 남기십시오.
감사합니다.