我已经成功地实现了一个友谊模型,该模型在创建友谊时在数据库中创建两行。
# Accept a friend request.
def self.accept(customer, friend)
transaction do
accepted_at = Time.now
accept_one_side(customer, friend, accepted_at)
accept_one_side(friend, customer, accepted_at)
end
end
# Update the db with one side of an accepted friendship request.
def self.accept_one_side(customer, friend, accepted_at)
request = find_by_customer_id_and_friend_id(customer, friend)
request.status = 'accepted'
request.accepted_at = accepted_at
request.save!
end
现在,当用户A删除他的帐户时,我如何确保数据库中的整个友谊(两行)也被删除。我相信
dependent: destroy
将仅在删除用户A的帐户之后删除与用户A相关的数据。但我希望数据库中属于用户B的另一行也被删除。