Ruby on rails RubyonRails4-允许一个用户查看另一个用户的数据的最佳方式是什么

Ruby on rails RubyonRails4-允许一个用户查看另一个用户的数据的最佳方式是什么,ruby-on-rails,permissions,Ruby On Rails,Permissions,我想允许我的应用程序上的一个用户选择谁可以查看自己的数据,我不知道我是否真的很清楚,因此下面是一个示例: 用户A在表上创建数据,他只能查看自己的数据和/或决定与其他用户共享 用户B只能看到允许他这样做的另一个用户的数据 我在考虑创建用户时生成的一些随机令牌,然后用户可以决定与其他人共享此令牌,然后根据此令牌显示数据?这实际上取决于您的“业务规则”。例如,在我开发的一个应用程序中,读取权限基于“隐私级别”。隐私级别0表示只有您可以查看数据,而隐私级别1表示任何人都可以查看数据。我的所有查询都是针对

我想允许我的应用程序上的一个用户选择谁可以查看自己的数据,我不知道我是否真的很清楚,因此下面是一个示例:

用户A在表上创建数据,他只能查看自己的数据和/或决定与其他用户共享

用户B只能看到允许他这样做的另一个用户的数据

我在考虑创建用户时生成的一些随机令牌,然后用户可以决定与其他人共享此令牌,然后根据此令牌显示数据?

这实际上取决于您的“业务规则”。例如,在我开发的一个应用程序中,读取权限基于“隐私级别”。隐私级别
0
表示只有您可以查看数据,而隐私级别
1
表示任何人都可以查看数据。我的所有查询都是针对该数据点定制的,与用户的模型关系表示为“所有者”

因此,在您的方案中,您提出了一个系统,其中每个记录都有自己的权限令牌,很像谷歌文档中使用的系统。这是一种在系统中共享记录的完全有效的方法。您还可以通过允许用户向记录中添加用户而变得更加复杂,这可能是您的用例的另一个最佳解决方案


总之,这些只是关于这个问题的一些想法。如果有帮助,请告诉我。

谢谢您的帮助,我认为用户向其记录中添加其他用户的方式是最好的。该应用程序将由儿童使用,我需要有一种方式让父母/家庭查看儿童数据,因此它需要特定于用户,而不是基于布尔隐私级别。你知道这种类型的认证是否有好的gem/教程/文档吗?这实际上取决于你如何查询数据。如果存在关系,则用户具有查看权限。如果关系不存在,则用户看不到记录。你应该可以用ActiveRecord来做这个。