Rails超级用户资源上下文

时间:2012-12-31 01:14:15

标签: ruby-on-rails devise cancan

我正在开发的应用程序围绕属于组织的用户,并且只能访问这些组织中的资源。那很好,非常直接。

系统还拥有任何组织之外的用户,他们可以查看系统中的任何内容。当其中一个用户登录时,他们会获得他们想要查看的组织列表。选择一个应该给他们一个系统视图,就像他们以标准用户身份登录一样,但保留他们的超级用户权限。

有没有一种很好的方法可以让系统知道某个特定的组织已被选中,而不必为每条路径都有一个嵌套资源?

例如,我想以超级用户身份登录,并查看organisationA。我希望能够选择组织,只需去

/subjects

而不是去

/organisations/1/subjects

这样做有什么好办法吗?

1 个答案:

答案 0 :(得分:0)

如果您未通过网址传递上下文,则可以将所选组织存储在会话中。会话方法的问题在于,您无法直接链接到这些页面,因为您依赖于会话中存储的数据。