0

友情の作成時にデータベースに2つの行を作成する友情モデルを正常に実装しました。

 # 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 に属するデータベースの他の行も削除したいと思います。

4

1 に答える 1