0

我有一个模型从用户到项目的多对多关系helper。用户和项目有很多user_project_memberships,并且user_project_membership有一个项目和一个用户。当我尝试从项目related_users(或用户的related_projects)中删除关系时,数据将从数据库中正确删除,但related_users 数组仍然具有该关系数据!

  def remove_user(uid)
    rel = self.related_users.where(user_id: uid)[0]
    if rel
      rel.destroy
      self.related_users.delete(rel) # Added this to remove that relation manually
    end
  end

project.related_users.count为项目返回正确数量的关系,但此代码未达到预期效果!

project.related_users.each do |user|
     puts user.id
end

如果project.related_users.count显示4上面的小代码打印hello5次!

任何帮助表示赞赏,以了解真正发生的事情!

PS:我不是红宝石专家,这可能是红宝石的问题!

4

0 回答 0