Ruby on rails 在Mongoid多对多关系和助手模型中调用destroy不会从列表中删除模型

Ruby on rails 在Mongoid多对多关系和助手模型中调用destroy不会从列表中删除模型,ruby-on-rails,ruby,ruby-on-rails-3,mongoid,Ruby On Rails,Ruby,Ruby On Rails 3,Mongoid,我使用helper模型从用户到项目有一种多对多的关系。用户和项目有许多User\u Project\u成员资格,User\u Project\u成员资格有一个项目和一个用户。 当我尝试从项目的相关\u用户(或从用户的相关\u项目)中删除关系时,数据将正确地从数据库中删除,但相关\u用户数组仍然具有该关系数据 def remove_user(uid) rel = self.related_users.where(user_id: uid)[0] if rel rel

我使用
helper
模型从用户到项目有一种多对多的关系。用户和项目有许多
User\u Project\u成员资格
User\u Project\u成员资格
有一个项目和一个用户。 当我尝试从项目的
相关\u用户
(或从用户的相关\u项目)中删除关系时,数据将正确地从数据库中删除,但相关\u用户数组仍然具有该关系数据

  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\u users.count
返回正确数量的项目关系,但此代码没有达到预期效果

project.related_users.each do |user|
     puts user.id
end
如果
project.related\u users.count
显示
4
以上小代码打印
hello
5次

感谢您的帮助,我想知道到底发生了什么


PS:我不是ruby方面的专家,这可能是ruby的问题

我认为关系应该是用户项目成员属于项目和用户当前数据库关系是:用户项目(->是1-N关系)用户项目成员表中的列是什么?项目id、用户id、费率。。。