홈페이지, 로그인 양식 하나에서 고객, 회사 및 공급 업체의 세 가지 유형의 사용자를 로그인해야하는 시스템이 있습니다.레일즈 : 다형성 사용자 테이블 AuthLogic의 좋은 아이디어?
나는 AuthLogic의 예제 응용 프로그램에 따라 http://github.com/binarylogic/authlogic_example에 따라 작동하는 하나의 User 테이블을 만들었습니다. 현재 '고객', '회사'또는 '공급 업체'가 포함 된 '사용자 유형'이라는 필드를 추가했습니다.
참고 : 각 사용자 유형에는 여러 가지 필드가 있으므로 단일 테이블 상속이 최선의 방법인지 잘 모르겠습니다 (이 결론이 유효하지 않은 경우 수정을 환영합니다).
3 가지 유형 각각이 사용자 레코드로 '태그 지정'되어있는 다형성 연관입니까? 내 모델은 어떻게 보이므로 내 User 테이블과 Customer, Company, Vendor 사용자 유형간에 올바른 관계가 있습니까?
대단히 감사합니다.
------ UPDATE ------
현재 설정 :
#User model
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :authenticable, :polymorphic => true
end
#Customer model (Company and Vendor models are similar)
class Customer < ActiveRecord::Base
has_many :users, :as => :authenticable
acts_as_authentic
end
이 그들을 설정하는 유효한 방법이 있나요?
세 가지 groups
중 하나 일 수 있습니다 users
이 : 이것은 당신이하려고하는 같은 소리 것입니다
안녕하세요 James, 코드를 사용해 주셔서 감사합니다. 귀하의 첫 번째 옵션을 피하기를 원하는 이유는 고객 테이블, 회사 테이블 및 회사 테이블에 20 개 이상의 필드가 있고 사용자 테이블이 ~ 60 개의 필드로 끝나기를 원하지 않기 때문에 ~ 40 개는 항상 빈. 한 명만 시도해보고 잘 작동하는지 확인하겠습니다. 고맙습니다! – sscirrus