【发布时间】:2012-07-04 16:09:44
【问题描述】:
我有这个模型:Store 和 Address。
第二个模型Address我正在将它与其他模型一起使用,并且里面有一些针对不同模型的自定义字段。
是的,就像多态但没有 varchar 类的字段,我使用的是整数。 (优化的东西)
现在在我的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
....
但我知道肯定有其他方法。
有什么建议吗?
谢谢。
【问题讨论】:
标签: ruby-on-rails-3 activerecord associations polymorphic-associations