저는 devise-cancan-rolify 설정을 사용하여 사용자를 처리하고 있습니다. 가입시 Reader 역할을받습니다. 관리자 인터페이스에서 Writer 역할로 승격 할 수 있기를 원합니다. 문제는 롤 (role)과 users_roles 테이블을 설정하는 방식이 다소 복잡하다는 것입니다. 특히 users_roles 모델이 없으므로 아마추어입니다. 여기에 올바른 길을 안내 할 수있는 사람이 있습니까?cancan 및 rolify로 역할 관리
2
A
답변
18
devise + cancan + rolify 설정에 대해 this tutorial을 보셨기를 바랍니다.
이러한 단계를 수행 한 경우에는 users, roles 및 users_roles 테이블이 있어야합니다. users_roles 모델이 필요하지 않습니다.
먼저해야 할 일은 사용자를 지정하고 역할을 확인할 수 있는지 확인하는 것입니다. 이 당신을 위해 작동하는 경우
당신은
user.add_role "admin"
user.has_role? :admin
를 계속하기 전에이 코드를 실행할 수 (모든 사용자에 콘솔에서 이러한 문서의 사용 부분에서 시도)한다, 지금 당신은 리더 역할을 할당해야
class User
after_create :assign_reader_role
private
def assign_reader_role
self.add_role "reader"
end
end
다음 단계는/추가를 만들고 관리 인터페이스에서 작가의 역할을 제거하는 것입니다 : 새로운 사용자,이 작업을 수행하는 가장 좋은 장소를, after_create 콜백입니다.
은 단순히 UsersController에def assign_writer_role
@user = User.find(params[:id])
@user.add_role "writer"
redirect_to @user
end
def remove_writer_role
@user = User.find(params[:id])
@user.remove_role "writer"
redirect_to @user
end
그게 전부 두 가지 작업을 추가 할 수 있습니다.
이 정보가 도움이 되었기를 바랍니다.
관련 문제
- 1. Devise CanCan 역할 및 프로필
- 2. 역할 인터페이스 및 역할 관리
- 3. 레일 cancan 역할?
- 4. CanCan 및 Devise, 역할 기반 로그인 제한
- 5. Cancan 데이터베이스 역할 및 기능 : AuthorizationNotPerformed
- 6. 사용자 및 역할 관리
- 7. ASP.Net 멤버십 및 역할 관리
- 8. 레일 콘솔에서 Cancan 역할 검증을 우회
- 9. Symfony2 - 동적 역할 관리
- 10. 역할 만들기 및 WPF 응용 프로그램에서 역할 측면에서 사용자 관리
- 11. 새 사용자 추가 및 역할 관리
- 12. 공급자가없는 역할 관리?
- 13. asp.net의 역할 관리
- 14. Azure 역할 구성 관리
- 15. 주방장이 상충하는 역할 관리
- 16. 변수 역할 관리
- 17. 응용 프로그램 역할 관리
- 18. ASP.NET Active Directory 역할 - 겹치는 역할 관리
- 19. Devise> CanCan> 잘못 할당 된 역할 롤링
- 20. CanCan, InheritedResources 및 STI
- 21. CanCan 및 모델이없는 컨트롤러
- 22. CanCan 및 데이터 집합
- 23. cakePHP의 역할 관리 사용자 인터페이스
- 24. ActiveAdmin과 CanCan
- 25. 사용자 당 하나의 역할 CanCan, 정의되지 않은 메서드 'role'문제
- 26. Cancan 상태
- 27. 사용자 및 회사를위한 Devcan Cancan 등록
- 28. ASP.NET inbuilt 컨트롤을 사용하여 역할 관리
- 29. cancan 및 devise를 사용하여 사용자 인증
- 30. RSpec 및 CanCan 컨트롤러 테스팅
사용자가 관리자로 로그인 할 때 원하는 질문을 이해하지 못하면 관리자 (작성자)의 능력이 있어야하며 동일한 사용자 테이블을 보유하고 있어야합니다. – AnkitG