Неинициализированная константа Mail::Ruby19
Привет, блестящие умы, я столкнулся с этим при попытке запустить этот код. Не могу понять это. Надеюсь, кто-то может помочь.
Это для "забытого пароля" сброса почты.
РЕДАКТИРОВАТЬ: я пытался перезапустить приложение несколько раз. Это не то, что вызывает проблему.
Модель пользователя:
validations up here...
def generate_token(column)
begin
self[column] = SecureRandom.urlsafe_base64
end while User.exists?(column => self[column])
end
def send_password_reset
generate_token(:password_reset_token)
self.password_reset_sent_at = Time.zone.now
save!
UserMailer.deliver_password_reset(self)
end
Контроллер сброса пароля:
def create
user = User.find_by_email(params[:email])
user.send_password_reset if user
redirect_to signin_path, :notice => "Email sent with instructions."
end
пользователь почтовой программы:
class UserMailer < ActionMailer::Base
default from: "noreply@mysite.com"
def password_reset(user)
@user = user
mail(:to => user.email, :subject => "Eventalist - Password Reset.")
end
end
ошибка:
uninitialized constant Mail::Ruby19
app/mailers/user_mailer.rb:1:in `<top (required)>'
app/models/user.rb:19:in `send_password_reset'
app/controllers/password_resets_controller.rb:7:in `create'
This error occurred while loading the following files:
mail
Любая помощь приветствуется.
большое спасибо
1 ответ
Обобщая ответ из комментариев, чтобы удалить этот вопрос из фильтра "Без ответа":
Согласно Shamir K., синтаксис UserMailer может быть подозрительным. Это справедливое наблюдение - обратите внимание на исходный материал, использованный оригинальным постером здесь:
RailsCast # 274: Запомнить меня и сбросить пароль
Тем не менее, Theo Felippe позже пояснил, что его проблема была результатом некоторой недостающей конфигурации:
Это была ошибка. По какой-то причине, когда я сгенерировал почтовую программу, рельсы стали ленивыми и забыли запечатлеть некоторые конфигурации, которые он обычно делает. Теперь все хорошо. Спасибо