Простой способ сделать один шаг для пользователей, чтобы подтвердить адрес электронной почты и установить первоначальный пароль, используя предложенную вами ссылку ...
Отправьте одно электронное письмо, сгенерированное вашим приложением, включая reset_password_token, и рассмотрите возможность владения пользователемподтверждения этого адреса электронной почты.
В коде генерации системной учетной записи предполагается, что модель пользователя настроена с: recoverable и: database_authenticatable Devise modules ...
acct = User.new
acct.password = User.reset_password_token #won't actually be used...
acct.reset_password_token = User.reset_password_token
acct.email = "user@usercompany.com" #assuming users will identify themselves with this field
#set other acct fields you may need
acct.save
Сделайте просмотр пароля сброса устройства немного более понятным для пользователей при установке начального пароля.
views / devise / passwords / edit.html.erb
...
<%= "true" == params[:initial] ? "Set your password" : "Reset your password" %>
...
Сгенерированная электронная почта
Hi <%= @user.name %>
An account has been generated for you.
Please visit www.oursite.com/users/password/edit?initial=true&reset_password_token=<%= @user.reset_password_token %> to set your password.
Нет необходимости включать: подтверждаемый модуль Devise в вашу модель пользователя,поскольку учетные записи, созданные вашим приложением, не будут доступны без reset_password_token в электронном письме.
Devise обработает отправку и очистит поле reset_password_token.
См. devise_gem_folder/lib/devise/models/recoverable.rb
и database_authenticatable.rb
для получения подробной информации о reset_password_token
методе и друзьях.
Если вы хотитечтобы использовать модуль Devise :confirmable
вместо этого подхода, см. вики-страницу Devise .