使用辅助模型调用Mongoid中关系的破坏与多个关系不会从List中删除模型

时间:2013-05-19 09:08:27

标签: ruby-on-rails ruby ruby-on-rails-3 mongoid

我有一个从用户到项目与helper模型的多对多关系。用户和项目有许多user_project_membershipsuser_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,则上面的小代码会打印hello 5次!

任何帮助表示感谢,知道发生了什么!

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

0 个答案:

没有答案