本质上,我有以下内容,我试图在我的报价单中使用 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
你们会推荐报价和地址之间的连接表吗?并保持公司和地址一对多?