0

다중 다형성 연관을 가질 수 있습니까? 는 더 나은 설명 :Ruby on Rails : 다중 다형성 연관

  1. 나는 사용자의 다른 종류의 있습니다 simple_user, 사회, 협력자, 관리자, 그리고 그들은 응용 프로그램을 통해 DB 분야 및 권한 부여 다르다. 뭔가
  2. 모든 사용자 수 요청
  3. 요청이 다른 서비스이 될 수 있습니다 : 어 번역, consultance 등

나는 각 서비스에 대한 하나의 테이블을 생각했다 : 어 번역, consultance있는 : 다음

has_one :request, :as => requestable 

한 테이블의 요청에 :

belongs_to :requestable, :polymorphic => true 

그러나 사용자 테이블에 다른 다형성 연관 을 추가 할 수 있습니까? 이 관계를 어떻게보다 잘 처리 할 수 ​​있습니까? 조언을 주셔서 감사합니다

답변

2

예 여러 개의 다형성 연결을 정의 할 수 있습니다. 그들은 모두 자신의 데이터베이스 컬럼을 사용합니다.

Request.create!(:user => Collaborator.first) 
:

belongs_to :user, :polymorphic => true 

그런 다음 당신이 CollaboratorRequest A를을 할당 할 수 있어야한다 :

이 연결을 당신의 requests 표에 두 개의 열 user_typeuser_id을 만들고 정의