Rails,按模型角色管理仪表板页面的访问。使用设计

时间:2015-03-20 14:10:57

标签: ruby-on-rails ruby model-view-controller devise routing

我正在Rails4上创建仪表板应用程序。我用一些数据创建了模型Partner。我还创建了很多带有与Partner相关联的视图的模型。

我可以不受任何限制地编辑所有模型的数据。现在我想创建Admin,它将登录我的应用程序并管理数据。 Admins将通过控制台添加,无需注册。

我也想让Partners登录/注册。 Partners只能打开与其数据相关联的页面并对其进行编辑。

这里我的问题取决于这种情况:

  1. 如何从Admins移除注册元素而不影响Partners
  2. 如何将Partners限制在自己的网页上Admins可以无处不在?
  3. AdminsPartners在同一个信息中心上编辑数据是一种好方法,或者我需要分别为AdminsPartners创建具有不同视图的不同控制器?

1 个答案:

答案 0 :(得分:0)

你应该能够通过使用gem来处理授权(权限)和使用gem来处理所有你正在讨论的事情(rolify)

https://github.com/nathanl/authority

https://github.com/RolifyCommunity/rolify

然而,您不必创建不同的视图/控制器,具体取决于它们的不同程度。您应该能够通过使用逻辑根据您设置的权限进行切换来完成大部分逻辑。

current_user.can_edit?(page)

在授权设置中,您必须确定谁可以编辑/查看/创建/等。在权威wiki中有一个很好的写作。