Devise and Rails 4를 사용 중입니다. 4. 주 사용자 모델에서 상속받을 여러 사용자 모델 (admin, usertype1, usertype2)을 추가하고 싶습니다. 많은 게시물을 검색하여 CanCan을 사용할 수 있다는 결론에 도달했습니다. CanCan은 원하지 않는 CanCan을 사용하거나 Single Table Inheritance를 사용할 수 있습니다.
내가 보는 방법은 Devise로 만든 내 주 사용자 모델에 유형 문자열 열을 추가하는 것입니다. 다음과 같이 부모의 각 하위 클래스를 확장해야합니다.
class Admin < User
end
class Usertype1 < User
end
class Usertype2 < User
end
내 질문은 : 다음에해야 할 일은 무엇입니까? 유형 열에 액세스하는 방법을 정확히 어떻게 알 수 있습니까? 또한 current_user 도우미 메서드에 대한 Devise 컨트롤러를 재정의해야합니까 예 : current_admin?
다시 한번 감사드립니다.
감사합니다. 성공적으로 두 프로젝트를 모두 추가했는데 두 프로젝트가 모두 작동합니다. 이제 easy_roles가 사용자 모델에 새로운 열을 추가한다는 것을 이해합니다. 내가 이해하지 못하는 부분은 실제로 하위 클래스를 만드는 부분입니다. 그렇게합니까? –
무엇을 의미합니까? STI 하위 클래스? 더 이상 필요하지 않을 것입니다. 다른 메소드를 정의하여 다른 사용자 역할을 얻을 수 있습니다. 예를 들어, def has_role? (role) 또는 이와 유사한 것을 정의하면 다른 역할이 반환됩니다. 또한 제공된 비트 마스크 솔루션을 통해 한 사용자에게 여러 역할을 추가 할 수 있습니다. – Mattherick
해당 하위 클래스의 데이터는 어떻게됩니까? 저장 될 곳 또는 잠재적으로 어떻게 각 하위 클래스에 특정 열을 추가 할 수 있습니까? 다시 한 번 감사드립니다 –