Rails. Создавайте пользователей Devise непосредственно из панели администрирования

Я использую устройство для создания пользователей непосредственно из консоли, поэтому я не использую :registerable модуль.

Способ создания пользователей из консоли заключается в предоставлении электронной почты, пароля и пароля_конформации следующим образом:

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

Теперь я установил гем администрирования и хотел бы иметь возможность создавать пользователей непосредственно оттуда. Я уже могу редактировать пользовательские поля и уничтожать пользователей, но я не знаю, как их создавать, поскольку ни пароль, ни password_confirmation не принадлежат таблице User. Какие-нибудь мысли?

1 ответ

Я добавил password а также password_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
Devise 4.7.1
Администрирование 0.12.0

Вы можете использовать devise_invitable

И тогда у вас есть форма, чтобы пригласить пользователя Emailи пользователь вводит его password (небезопасно, что вы установили пароль пользователя)

Другие вопросы по тегам