0

我有一个“用户”模型,它通过连接表“user_number”模型与“数字”模型具有 has_many 关系。我用:

accepts_nested_attributes_for :numbers, :allow_destroy => true

在“用户”模型中。一切正常,除了每当我在编辑表单中删除用户的号码时,关联的号码会在“号码”表中正确删除,而不是“user_number”连接表中的条目。

在更新控制器操作中,我只使用这个:

...
if @user.update_attributes(params[:user])
...

如何强制 rails 也删除连接表中的关联条目?

4

1 回答 1

1

您需要让用户接受_nested_attributes_for :join_class, :allow_destroy => true。然后,您删除该关联。has_many :through 背后的想法是,除非没有其他关联,否则不要删除 n->m 映射的 m 部分。

于 2010-12-26T15:49:19.030 回答