【问题标题】:Rails. Create Devise users directly from Administrate panel导轨。直接从管理面板创建设计用户
【发布时间】:2018-01-16 11:04:42
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我将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
    


    我对此进行了测试:

    导轨 6
    设计 4.7.1
    管理 0.12.0

    【讨论】:

      【解决方案2】:

      您可以使用devise_invitable

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

      【讨论】:

      • 我真的需要为我的用户设置密码。我们的客户不想使用 emai 地址来注册用户,因此最终将不得不切换到 :name 属性以用作 ID。这些用户也不会与人员相关联(除了管理员用户),他们将是为每个部门创建的通用用户,
      猜你喜欢
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多