Я новичок в ruby on rails и пытаюсь добавить подтверждение электронной почты на мой сервер, когда пользователь регистрируется.Я слежу за руководством по рельсам 4 в 2017 году здесь https://coderwall.com/p/u56rra/ruby-on-rails-user-signup-email-confirmation-tutorial.и я получаю эту ошибку: «NoMethodError (для UserMailer: Class вызван закрытый метод« registration_confirmation »):«
Это что-то новое, что я хотел бы добавить на свой сервер для принудительной проверки электронной почты, я недавно имелПриветственное письмо отправлено новым пользователям, когда они регистрируются, и я работаю над добавлением подтверждающего электронного письма, однако это не работает и продолжает выдавать ошибку.Я предполагаю, что руководство, которому я следую, устарело, и поэтому я делаю некоторые изменения в коде, чтобы сделать его более похожим на приветственное письмо, отправленное.
это код приветствия пользователя:
class UserMailer < ActionMailer::Base
default from: 'hello@thecitizenshub.com'
def welcome_email
@user = params[:user]
@url = 'https://thecitizenshub.com/login'
mail(to: @user.email, subject: 'Welcome')
end
end
def registration_confirmation
@user = params[:user]
mail(to: @user.email, subject: 'Registration Confirmation')
end
это код пользователя для подтверждения регистрации:
def registration_confirmation
@user = params[:user]
mail(to: @user.email, subject: 'Registration Confirmation')
end
код для контроллера пользователя:
def create
@user = User.new(user_params)
if @user.save
# Tell the UserMailer to send a welcome email after save
UserMailer.with(user: @user).welcome_email.deliver_later
UserMailer.registration_confirmation(@user).deliver
render json: @user, status: :created
else
render json: @user.errors, status: :unprocessable_entity
end
end
Я ожидаю, что когда кто-то зарегистрируется, они должны получить подтверждениеэлектронная почта, но эта ошибка продолжает появляться, и поэтому я продолжаю получать There was an error processing your request..
, и в консоли он выдает NoMethodError (private method
registration_confirmation ', вызванный для UserMailer: Class): `при тестировании регистрации я использую rails Rails 5.2.2, если это помогает