Как исправить "(частный метод" registration_confirmation "вызван для UserMailer: Class)" сервер rails - PullRequest
0 голосов
/ 25 января 2019

Я новичок в 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, если это помогает

...