사이의 다중 관계 내가 레일 4.0.4에서 데이터베이스 마이그레이션을 만드는거야, 나는 다음과 같은 관계를 캡처 할 :레일 : 두 가지 모델
고객이 많은 신용 카드를 보유하고있다. 고객은 기본 신용 카드가 하나뿐입니다.
여기 보이는 것처럼 보입니다.
class Customer < ActiveRecord::Base
has_many :cards
has_one :card # i.e. has one default card
end
class Card < ActiveRecord::Base
belongs_to :customer
end
이 정보가 맞습니까? 그렇다면, 레일즈는 Card
클래스의 belongs_to
과 어떤 관계가 있는지 어떻게 알 수 있습니까? 그것이 틀렸다면 (그리고 나는 그것이라고 추측하고있다), 제발 도와주세요.
당신의 경우에는'has_many : cards'를 사용하고'boolean column'을'cards' 테이블에서'is_default'와 같이 만들 것입니다. 기본값 카드는'is_default' 열이'true' 일 것입니다. – Pavan
또는 다음과 같이 할 수 있습니다 :'has_one : default_card, : class_name => "Card"' – Pavan
@Pavan과 같은 대답을 제안 할 것이고 간단히 기본 카드의 범위를 정의 할 수 있습니다. 단 하나의 관계 만 필요합니다. –