我有一个模型从用户到项目的多对多关系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
上面的小代码打印hello
5次!
任何帮助表示赞赏,以了解真正发生的事情!
PS:我不是红宝石专家,这可能是红宝石的问题!