0

저는 레일을 처음 사용하기에 새롭고 사용자가 수정할 수있는 모델의 속성을 제어 할 수있는 권한 부여 시스템을 설정하려고합니다.선언적 승인 : 특정 속성에 대한 모델 작업을 제한하십시오.

역할 기반 권한 부여에 declarative_authorization을 사용합니다. 이 기능은 이미 많은 기능을 제공합니다. 역할에 따라 사용자가 볼 수있는 내용을 제한하고, 컨트롤러에서 수행 할 수있는 작업과 기본적으로 모델에서 수행 할 수있는 작업을 제한합니다.

그러나 역할에 따라 모델의 특정 속성에 대한 작업을 제한하는 방법에 대한 답을 찾을 수 없습니다.

예 : guest 역할을 가진 사용자는 사용자 계정의 특정 속성을 업데이트 할 수 있습니다. 사용자가 잘못된 암호로 로그인하려고하면 사용자 계정의 특정 필드를 업데이트하려고합니다 이 계정은 비활성 상태가됩니다. 그러나 : guest 역할은 결코이 사용자 계정의 닉네임을 변경할 수 없어야합니다.

그래서 내 사용자 모델에서 "using_access_control"메서드를 사용하지만이 방법은 모든 특성에 대해 계정에 대해 "업데이트"권한을 부여하거나 역할에 따라 "업데이트"권한을 부여하지 않습니다.

"strong_parameters"는 기본적으로 이러한 기능을 사용할 수있는 보석이지만 "declarative_authorization"과 "strong_parameters"를 함께 사용하는 방법이나 "declarative_authorization"을 사용하여 간단하게 수행하는 방법에 대한 단서가 없습니다.

누군가 해결책을 가르쳐 줄 수 있습니까?

감사합니다.

답변

-1
Authorization::Maintenance::without_access_control do 
    # do something 
end 

이 정보가 도움이되기를 바랍니다.