我有一个从用户到项目与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:我不是红宝石的专家,这可能是红宝石的问题!