表客户端
表工作者
表联系
我的模型看起来像这些
class Worker < ActiveRecord::Base
has_many :contacts, :dependent => :destroy
has_many :clients, :through => :contacts, :foreign_key => 'client_id'
end
class Client < ActiveRecord::Base
has_many :contacts, :foreign_key => "client_id",:dependent => :destroy
has_many :workers, :through => :contacts, :foreign_key => 'worker_id'
accepts_nested_attributes_for :workers, :allow_destroy => false
end
class Contact < ActiveRecord::Base
belongs_to :worker, :foreign_key => "worker_id"
belongs_to :client, :foreign_key => "client_id"
end
然后在我创建客户端的表单中,我可以创建许多工作程序,rails会创建关联并为contacts表创建实例(通过使用嵌套表单)。
问题是,如果我想通过删除联系人来编辑客户端,则不会删除该联系人。如您所见,我将此行放在客户模型中
accepts_nested_attributes_for :workers, :allow_destroy => false
我将allow_destroy设置为false,因为我不想删除worker本身,我只想删除联系人元组。
有谁知道如何解决这个问题?希望你能帮帮我......谢谢