基本的に、私は以下を持っており、引用フォームで collection_select を使用して、 company.addresses リレーションから引用モデルの has_one :address フィールドにアドレスを割り当てようとしています。IRB では、quote1.address = company1.addresses.first などにするだけで、quote_id 列がアドレス インスタンスに適切に入力されます。
さて、このデータベースのセットアップはシンプルで、おそらくこれらの関係を実現するためのより良い方法のように見えるかもしれませんが、アドレス指定可能なタイプとフィールドが引用関係に変更されたため、ポリモーフィックアドレスが問題を引き起こし、企業のアドレス関係が失われました。それらを複製する方法がわかりませんでした。しかし、とにかく、以下のデータベース設定を使用して、見積もりフォームで最初の質問を達成する方法を提案する人はいますか?
class Address < ActiveRecord::Base
belongs_to :company
has_many :quotes
attr_accessibles ...
.....
end
class Company < ActiveRecord::Base
has_many :addresses
accepts_nested_attributes_for :addresses
has_many :quotes
attr_accessibles ...
....
end
class Quote < ActiveRecord::Base
belongs_to :address
belongs_to :company
accepts_nested_attributes_for :address
... attr_accessibles ....
....
end
引用符とアドレスの間の結合テーブルをお勧めしますか? そして、会社と住所を1対多に保ちますか?