Rails:允许用户在注册时选择他们的角色设计

Posted

技术标签:

【中文标题】Rails:允许用户在注册时选择他们的角色设计【英文标题】:Rails: Enable users to choose their roles when signing up on devise 【发布时间】:2017-05-16 09:00:06 【问题描述】:

我在我的 Rails 项目中使用devise 来验证用户身份。用户可以选择多种角色(例如管理员、学生、教师),我希望用户能够在注册时选择他们的角色

我四处搜索并找到了设置默认角色并允许用户稍后更改该角色的方法,但我找不到关于如何修改设计控制器和视图以 允许用户立即选择他们的角色

有人可以指点我一个教程或他们知道会有帮助的东西吗?

【问题讨论】:

这听起来很不安全。您真的希望互联网上的任何人都能够成为您应用程序的管理员吗? 关于管理员的 nvm,我决定为管理员之外的任何角色创建一个枚举,然后创建一个列 admin (bool) 来处理它。 【参考方案1】:

您可以在注册表单中设置角色下拉列表。

并允许这样的参数。

class Users::RegistrationsController < Devise::RegistrationsController

  before_filter :configure_permitted_parameters

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) do |u|
      u.permit(:role_id,:email, :password, :password_confirmation)
    end
  end
end 

希望这会对你有所帮助。

【讨论】:

以上是关于Rails:允许用户在注册时选择他们的角色设计的主要内容,如果未能解决你的问题,请参考以下文章

如何为多用户 Java 应用程序设计/保留用户角色(当前和已注册)?

根据 Woocommerce 中的用户角色自定义客户新帐户邮件

设计、角色和简单形式

Rails,使用隐藏字段设置用户角色

无法在 Rails 上的两个不同表上注册我的个人资料数据和用户数据 - 设计

ASP.NET Core 3.1 MVC 如何让用户在注册时选择自己的角色?