Rails。直接从管理面板创建 Devise 用户

Rails. Create Devise users directly from Administrate panel

我正在使用 devise 直接从控制台创建用户,因此没有使用 :registerable 模块。

从控制台创建用户的方法是通过提供电子邮件、密码和 password_conformation 这种方式:

User.create(email: 'john@hotmail.com', password: '1234', password_conformation: '1234')

现在我已经安装了 Adminstrate gem,我希望能够直接从那里创建用户。我已经可以编辑自定义字段并销毁用户,但我不知道如何创建它们,因为密码或 password_confirmation 都不属于用户 table。有什么想法吗?

您可以使用devise_invitable

然后你有一个通过Email邀请用户的表单,用户输入他的password(你设置用户密码不安全)

我在仪表板中添加了 passwordpassword_confirmation 字段,效果非常好,接下来我提供了一个包含相关字段的仪表板示例。

require "administrate/base_dashboard"

class AdminUserDashboard < Administrate::BaseDashboard

  ATTRIBUTE_TYPES = {
    .
    .
    .
    password: Field::String,
    password_confirmation: Field::String,
    .
    .
    .
  }.freeze

  # FORM_ATTRIBUTES
  FORM_ATTRIBUTES = %i[
  .
  .
  .
  password
  password_confirmation
  .
  .
  .
  ].freeze

end


我对此进行了测试:

Rails 6
设计 4.7.1
管理 0.12.0