での請求先住所を与えるためにどのように、各注文は配送先住所と請求先住所に関連付けられている(彼らはもちろん、同じことができます)。これを初めてモデル化しようとしました。が順番に配送先住所とレールの私のオンラインストアで
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