【问题标题】:Restful management of Devise model records | Rails 5.2Devise模型记录的宁静管理|导轨 5.2
【发布时间】:2018-08-15 03:49:27
【问题描述】:

我正在开展一个涉及两个 Devise 模型(UserAdmin)的项目。我想做的是允许Admin 成员能够以 RESTful 方式查看和管理Users(即:索引、显示、创建、更新、销毁)。

最好的方法是创建一个users_controller 并将其视为一个普通的 RESTful 模型(修改每个控制器操作以在适用的情况下与 Devise 一起使用)?

任何建议将不胜感激。

谢谢。

澄清更新
看来我对上面的问题不清楚。下面的答案是关于影响User 模型的操作的授权。这不是我要问的。我问的是促进交易本身的最佳方式,而不是交易的授权和限制。让Admin 成员创建Users 和更新User 记录而不使用标准的设计自我注册的最佳方式是什么。我的意图是禁用自我注册,以便只允许Admin 成员创建User 帐户的新User 注册。希望这更清楚。谢谢。

【问题讨论】:

  • 这确实是一个授权问题...您只允许管理员和记录所有者管理记录(如果适用)。您是否实施了任何类型的授权系统(无论是像 pundit 这样的 gem 还是您自己的)?
  • @MarkMerritt:感谢您的回复。我要问的是如何促进Admin 成员对User 记录的实际RESTful 管理,暂时不管授权如何,但接下来是授权方面的事情!再次感谢。
  • 无论您尝试管理的记录类型如何,最 RESTful 的方式是拥有一个单独的 /admin 基本路由,只有管理员用户才能访问。
  • @MarkMerritt:感谢您的意见,我已经更新了我的问题,以便进一步澄清我想要实现的目标。

标签: ruby-on-rails devise ruby-on-rails-5


【解决方案1】:

我建议你看看下面的宝石 Rolify 和 CanCan,这里有与设计集成的。

这里是a link

【讨论】:

  • 感谢您的回复。我已经更新了这个问题,澄清了我正在尝试做的事情。
  • 如果您只需要管理员有权添加用户,那么 devise_invitable gem 是我的建议,它将允许管理员向用户发送电子邮件邀请,这样只有在管理员发送邀请时才会创建用户.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多