Параметры Rails 6 ActionMailer равны нулю в предварительной версии - PullRequest
0 голосов
/ 05 мая 2020

Я получаю эту ошибку после посещения http://localhost:3000/rails/mailers/user_mailer/confirm_email:

undefined method '[]' for nil:NilClass
@user = params[:user]

Мой код:

class UserMailer < ApplicationMailer
  def confirm_email
    @user = params[:user]
    mail to: "to@example.org"
  end
end

class UserMailerPreview < ActionMailer::Preview
  def confirm_email
    UserMailer.with(user: User.first).confirm_email
  end
end

Если я поменяю код на этот:

class UserMailer < ApplicationMailer
  def confirm_email(user)
    @user = user
    mail to: "to@example.org"
  end
end

class UserMailerPreview < ActionMailer::Preview
  def confirm_email
    UserMailer.confirm_email(User.last)
  end
end

Я получаю это:

wrong number of arguments (given 0, expected 1)

Не понимаю, что делаю не так?

Моя версия rails 6.0.2.1

Обновление:

Первый случай работал с консоли, но не работал с предварительным просмотром браузера. Второй случай не работал с консоли.

...