【发布时间】:2015-11-11 20:02:22
【问题描述】:
我有两个模型 - member 和 membership。
一个member has many memberships, dependent: :destroy 和一个membership 属于一个member。
问题是在某些情况下,因为membership 属于许多模型(例如user),有时我想将membership 与member 解除关联并将其重新关联到user 记录。
如果是另一种方式,即从member 记录中删除membership,则更简单。我会这样做:member.memberships.destroy(membership) 或 member.memberships.first.destroy 或 w/e。
但是....我正在做相反的事情,即我想保留membership 记录,但想删除与member 的关联。
所以我想做类似membership.member.destroy 的事情,而不是删除任何一条记录。一旦我删除了member 记录,它会自动删除关联的membership 记录,因为dependent: :destroy。
【问题讨论】:
-
"不删除任何一条记录" - 嗯,只需将
member_id设置为 nil 就可以了? -
那是我的第一选择,但真的那么简单吗?我觉得我必须为协会做更多的事情?
标签: ruby-on-rails ruby-on-rails-4 associations