1
本质上,我有以下,我试图在我的报价表格中使用collection_select从company.addresses关系中为我的报价模型中的has_one:地址字段分配一个地址。在IRB中,我可以简单地引用quote1.address = company1.addresses.first等,并且quote_id列将填充在地址实例中的appropiated中。如何使用select或collection select?
现在,这个数据库设置可能看起来很简单,可能是实现这些关系的一种更好的方式,但由于可寻址类型和字段正在改变为引用关系,多态地址给我带来了问题,因此从公司地址关系。无法弄清楚如何克隆它们。但是,无论如何,有没有人有建议如何使用下面的数据库设置完成我的报价表格中的第一个问题?
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
你们会推荐引号和地址之间的连接表吗?并保持公司和地址一对多?
是的,我最终选择了address_id,一个报价只需要一个地址,所以地址和报价之间的一对一运作良好,我最终做了f.address_id,@ available_address.collect {| a | [a.line1,a.id]}等。另外,一个脚手架将是矫枉过正。感谢您的建议。 – TheIrishGuy