2016-12-02 1 views

답변

0

첫번째 방법

학자 정책은 순수 루비 코드입니다, 그래서 당신은 데이터베이스 내에서 코드를 유지하고 동적으로 평가하고 싶지 않은 경우, 나는 대답은 더 말할 것이다. 안전하지 않아. 그래도 괜찮을거야. 직접 도구 물론

class PostPolicy < ApplicationPolicy 
    def update? 
    access_setting = PolicySetting.find_by(key: self.class_name) 
    user.role.in?(access_setting['roles']) 
    end 
end 

, 복잡성 및 유연성 :

두번째 방법

하지만 아무것도 예를 들어 간단한 JSON에서 규칙을 유지하고 학자를 사용하여 비교 모델을 생성하지 못하도록 서로에 달려있다.

그냥 주위에 작동되어 제 3의 방법. 권한 부여 프로젝트를 주요 프로젝트와 차별화하여 배포하므로 (물론 제로 다운 타임은 물론) 주요 주요 프로젝트에 영향을 미치지 않습니다.

자신의 DSL을 만들기 네번째 방법은 데이터베이스에 저장 될

json-logic-ruby 같은

사용 무언가가 데이터베이스

논리를 저장하는 제 5 방법