This article shows how to resolve an error when devise's sign-up mail sending.
環境情報&前提条件
- Ruby 3.2.1
- Rails 7.0.0
- テンプレートエンジンとしてslimを使用
- 開発環境でDocker使用
gem
- devise 4.9.2
解決したい内容
- deviseを使用してユーザの新規登録を行いたい。
- 新規登録した際のメール送信後に以下エラーがブラウザ上で表示される。
Net::ReadTimeout (Net::ReadTimeout with #<Socket:(closed)>)
解決手順
- deviseで生成される
app/views/users/registrations/new.html.slim
内のformタグにdata: {turbo: false}
をつけることで解消 - ※画面遷移系で原因不明のエラーに悩まされる場合、turboを無効化することで解決するケースが多いです。
app/views/users/registrations/new.html.slim
# before
= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
# after
= form_for(resource, as: resource_name, url: registration_path(resource_name), data: { turbo: false }) do |f|