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
(небезопасно, что вы установили пароль пользователя)