Я получаю эту ошибку после посещения 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
Обновление:
Первый случай работал с консоли, но не работал с предварительным просмотром браузера. Второй случай не работал с консоли.