Я работаю над учебником Майкла Хартла ruby по рельсам, в настоящее время изучаю аутентификации электронной почты (глава 11).
Я закончил все в этой главе, и все прекрасно работает в среда разработки , но когда я запускаю sh в производство с Heroku, я получаю ошибку
EXPECTED: после того, как новый пользователь отправит форму создания учетной записи, его следует направить обратно в root_url с fla sh сообщение с просьбой проверить свою электронную почту для аутентификации
АКТУАЛЬНОЕ ПОВЕДЕНИЕ: после того, как новый пользователь отправляет форму создания учетной записи, он, кажется, перенаправляется на / users и возникает ошибка (ошибка гласит: мы извините, но что-то пошло не так, пожалуйста, проверьте журналы).
Опять же, это прекрасно работает в dev, но не в производстве.
ЧТО Я ПРОБОВАЛ:
- Я проверил логи и вижу, что электронная почта была сгенерирована как ожидалось
-Я запустил консоль в Heroku и вижу, что новый пользователь был создан правильно y в базе данных; для поля аутентификации установлено правильное значение false (Ожидание электронной почты)
-Я могу извлечь ссылку аутентификации из журнала, поместить ее в браузер и увидеть, что она аутентифицирует пользователя правильно
-Я проверил модель пользователя и контроллер пользователя, но не вижу никаких ошибок (надеюсь, набор тестов все равно поймал бы их в dev или ошибка воспроизводилась бы в dev)
-Я сбрасываю базу данных heroku и заново запускаю миграцию и db: seed, чтобы посмотреть, поможет ли это, без изменений
-Я снова сделал pu sh в Heroku, чтобы увидеть, что там что-то не так - нет изменить
-Я пытался удалить дополнение в Heroku и переустановить его, но, очевидно, это заблокировало мою учетную запись Sendgrid ... поэтому я настоятельно рекомендую вам не делать этого. Сейчас я работаю с Sendgrid для повторной активации.
В приложении есть ошибка из журналов Heroku, которую я смог найти:
2020-04-08T16: 52: 25.985006 + 00: 00 app [ web.1]: ---- == _ mimepart_5e8e0149d677d_b2b0ebb83ed445621b-- 2020-04-08T16: 52: 25.985006 + 00: 00 app [web.1]: 2020-04-08T16: 52: 25.985363 + 00: 00 app [web .1]: I, [2020-04-08T16: 52: 25.985276 # 11] INFO -: [f4baf186-2987-4d21-bd92-c8324b3a09ca] Выполнено 500 Внутренняя ошибка сервера за 716 мс (ActiveRecord: 6,2 мс | Распределения: 5310 ) 2020-04-08T16: 52: 25.986654 + 00: 00 app [web.1]: F, [2020-04-08T16: 52: 25.986541 # 11] FATAL -: [f4baf186-2987-4d21-bd92-c8324b3a09ca ] 2020-04-08T16: 52: 25.986655 + 00: 00 приложение [web.1]: [f4baf186-2987-4d21-bd92-c8324b3a09ca] Net :: SMTPAuthenticationError (535 Ошибка аутентификации: учетная запись отключена 2020-04-08T16 : 52: 25.986655 + 00: 00 app [web.1]:): 2020-04-08T16: 52: 25.986655 + 00: 00 app [web.1]: [f4baf186-2987-4d21-bd92-c8324b3a09ca] 2020- 04-08T16: 52: 25.986656 + 00:00 приложение [web.1]: [f4baf186-2987-4d21-bd92-c8324b3a09c a] app / models / user.rb: 53: в send_activation_email'
2020-04-08T16:52:25.986656+00:00 app[web.1]: [f4baf186-2987-4d21-bd92-c8324b3a09ca] app/controllers/users_controller.rb:22:in
create '2020-04-08T16: 52: 25.997396 + 00: 00 heroku [маршрутизатор]: at = информационный метод = путь POST = "/ users" host = day-dawn-31172.herokuapp.com request_id = f4baf186-2987-4d21-bd92-c8324b3a09ca fwd = "72.38.16.251" dyno = web.1 connect = 0ms service = 724ms status = 500 bytes = 1891 protocol = https
Любая помощь очень ценится !!!
Прилагаются настройки SMTP-сервера на случай, если они являются проблемой?
`
config.action_mailer.delivery_method = :smtp
host = 'afternoon-dawn-31172.herokuapp.com'
config.action_mailer.default_url_options = { host: host }
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
} `