작성한 모델 CardSignup
에서 상품권을 취득 할 수있는 User
모델이 있습니다.두 개의 연관된 모델이 동일한 조인 이름을 공유 할 수 있습니까?
User.rb
has_many :conversions, :foreign_key => :converted_by, :class_name => "CardSignup"
has_many :conversions, :foreign_key => :converted_by, :class_name => "GiftConversion"
:
그러나 나는 또한 나의 모델 있도록 설정되어 GiftConversion
라는 별도의 모델에서 무료로 상품권을주고 싶습니다 CardSignup.rb
belongs_to :converted_by, :class_name => "User"
이 방법으로
belongs_to :converted_by, :class_name => "User"
GiftConversion, 내가 뭘 원하는 User.find(x).conversions
을 입력이며, 해당 사용자에게 관련되어 자신의 foreign_key :converted_by
로 너무 오래 CardSignup
모델과 GiftConversion
모델을 모두 반환 모델.
아쉽게도 제대로 작동하지 않습니다. 대신 컴파일러는 이후의 명령문을 가져옵니다. 이 경우 GiftConversion
을 입력하면 User.find(x).conversions
으로 인식됩니다.
User
모델은 두 모델을 같은 이름으로 공유 할 수 있습니다.
난 정말이의 머리 또는 꼬리를 만들 수 없습니다. 그러나 그것은 좋은 생각처럼 보입니다. – Trip
이 기사에서는이 점을 잘 설명합니다. http://code.alexreisner.com/articles/single-table-inheritance-in-rails.html –
이 2 가지에서 1/1까지의 세 가지 모델을 병합하는 방법은 여전히 설명하지 않습니다. 2 개의 다형성 연관성을 나타낸다. – Trip