我有这个模型:Store和Address。
第二个模型Address我将它与其他模型一起使用,并且内部有一些用于不同模型的自定义字段。
是的,就像多态但没有varcharClass 的字段,我使用的是整数。(优化的东西)
现在在我的Store模型上,集合中的关联是这样的:
class Store < ActiveRecord::Base
has_many :addresses, :foreign_key => "parent_id", :conditions => ['parent_kind = ?', 2]
accepts_nested_attributes_for :addresses
end
现在在我的控制器中,我这样做:
@store.addresses.build
我可以f.fields_for :addresses...在表格内使用。
当我提交表单并将数据保存到数据库时,问题就出现了。
stores表中的记录已保存,记录中的记录与存储的addresses一起保存parent_id,但parent_kind在0其中是 MySQL 上该属性的默认值。
我的快速修复是这样的:
@store = Store.new(params[:store])
@store.addresses[0].parent_kind = 2
if @store.save
....
但我知道必须有另一种方式。
有什么建议吗?
谢谢。