온라인 상점에서 각 주문은 배송지 주소와 청구서 수신 주소와 연결됩니다 (물론 동일 할 수 있음). 이 모델을 처음 시도한 것은 다음과 같습니다.배송 주소와 청구서 수신 주소를 레일에 주문하는 방법
Class Order
belongs_to :billing_address, :class => "Address"
belongs_to :shipping_address, :class => "Address"
이 방법은 매우 효과적이지만 지금은 양식 도우미가 작동하지 않습니다. 즉, form_for
은 address[zipcode]
과 같은 이름의 필드 만 생성하므로 수동으로 해킹하여 billing_address[zipcode]
및 shipping_address[zipcode]
이되도록 해킹해야합니다.
은 내가 ShippingAddress
및 BillingAddress
에 Address
을 하위 클래스 단일 테이블 상속을 사용할 수있는 것 같아요,하지만이 나에게 조금 해키 보인다 (그리고 Best way to model Customer <--> Address에 좋은 답변을 모순).
Class Order
belongs_to :billing_address, :class_name => "Address"
belongs_to :shipping_address, :class_name => "Address"
Class Order
belongs_to :address, :foreign_key => "billing_address_id"
belongs_to :address, :foreign_key => "shipping_address_id"
이 양식 헬퍼로에게 시험을주십시오 나는 그것을 위해 밖으로 작동하는지 알고 싶네 :
이 더 이해가되지 않습니다 :
는 연결을 완료하려면? – Mohamad