我正在使用三种模型:用户、项目和用户特权。用户权限模型由 user_id、project_id 和 accessLevel 值组成。用户和项目模型与用户特权具有“has_many”关系,彼此之间具有“has_many, through”关系。
当用户创建项目时,会在 userprivileges 表中创建相应的条目。我不确定如何为用户与另一个用户共享项目的情况创建这样的条目。在这种情况下,用户访问项目页面,单击链接以共享对项目的访问权限,并指定目标用户的电子邮件。
我将这种情况与 UserprivilegesController 中的“新”操作相关联。在“创建”操作中,我可以访问与其共享项目的用户对象(使用电子邮件 ID),但我不确定如何获取共享项目的项目 ID。当用户访问项目页面并单击共享访问链接时,有没有办法存储项目 ID?
谢谢。
感谢 Aldo 的评论,我能够解决这个问题。但是,我有一个相关的问题:是否可以使用 routes.rb 文件来解决这个问题。我可以在 Project 路由中包含 Userprivilege 操作的路由吗?例如,例如:/projects/1/userprivileges/new 或 /projects/1/userprivileges/1/edit。然后,我可以从 URI 中获取项目 ID。但是,一个限制是必要的,这样用户权限只能从它们相关的项目中访问,所以像 /projects/2/userprivileges/1/edit 这样的东西是不允许的。我该如何实施该限制?