2013-07-19 3 views
0

레일즈에서 루비로 응용 프로그램을 개발하고 있으며, 휴경 시나리오에 대한 최선의 해결책이 무엇인지 모릅니다. 지금까지 사용자를 만들고, 프로젝트를 만들고, FB와 같은 사용자를 연결할 수 있었고, 사용자를 내 웹 사이트에 초대 할 수있었습니다. 이제는 사용자가 만든 프로젝트에 다른 수준의 액세스 권한을 부여 할 수있게되었습니다. 다른 사용자에게 (github와 비슷한). 또한 사용자는 계정을 만든 후 superadmin의 역할을 수행하여 프로젝트에서 자신의 프로젝트를 관리하거나 동료에게 프로젝트를 할당 할 수 있습니다. 그래서 cancan과 선언적 승인 사이에 최선의 선택이 될 것입니다. 또한 cancan 또는 선언적 승인을 사용하려면 user_id, role_id 및 project_id를 저장할 테이블이 필요합니까? Rails, Devise, CanCan 또는 Declarative authorization


내가 더 잘 내 문제를 설명합니다 감사합니다. 지금까지 프로젝트를 생성 할 수있는 사용자 (작성자 있음)가 있습니다. 따라서 user1이 프로젝트 A를 만들고 프로젝트 B가 프로젝트 B를 원할 때 프로젝트 A에서 user2에 관리자 역할을 할당하고 프로젝트 B에서 사회자 역할을 수행하는 user2를 할당 할 수 있습니다. UserRoleProject 링크 테이블을 생성하려고 생각했습니다. 생각? 아니면 도움이되지 않으면 몇 가지 지침을 알려주십시오.

동작은 user1 목록에서 선택 user2, user1이 만든 다른 목록에서 프로젝트를 선택하고 user2가 해당 프로젝트에 가질 역할을 선택합니다.

모든 사용자는 프로젝트에서 동일한 작업을 수행 할 수 있습니다. 또한 프로젝트 n은 사용자와 3 개 액세스 수준 (관리자, 운영자, 손님)

답변

0

내가 한 번 역할의 충당에 큰 응용 프로그램을 만들어 각 역할이 가능한 작업의 집합을했다 주셔서 감사합니다 N있을 것 , 그리고 나는 devise와 cancan을 사용했고 그들은 매력처럼 작동합니다. 그들은 꽤 잘 통합되어 있으며 훌륭한 문서를 가지고 있습니다.

has_one :user 
has_many :collaborators, :through => :team 

팀 모델 :

belongs_to :user 
belongs_to :project 

프로젝트 모델처럼 뭔가를 할 수있는 다른 질문에 대한