質問: ### 前提・実現したいこと 当方Ruby on Railsを触り始めた初心者なのですが一通りアプリを構築しました。 deviseを使ったログイン機能を実装し、メール認証をするように設定してherokuにデプロイしたのですがその後でつまずいています。 heroku openでデプロイしたサイトを開くとユーザーの新規登録画面が表示されます。 そこでメールアドレス、パスワードを設定し新規登録のボタンを押したところで下記のようなエラーが出ました。 データベースを確認すると、登録したユーザー情報は保存されていました。 heroku logsでログをみてみると下記のようなエラーメッセージが出ていて、 対処法に困っています。 ### 発生している問題・エラーメッセージ `` Devise::Mailer#confirmation_instructions: processed outbound mail in 10.4ms : Completed 401 Unauthorized in 203ms (ActiveRecord: 18.9ms) : ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true): : : 2: : 3: You can confirm your account email through the link below: : 4: : 5: <%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %> : app/views/devise/mailer/confirmation_instructions.html.erb:5:in`_app_views_devise_mailer_confirmation_instructions_html_erb___4328781323590845359_70102524578540' ``` ### 該当のソースコード confirmation_instructions.html.erb Welcome <%= @email %>! You can confirm your account email through the link below: <%= link_to "Confirm my account", confirmation_url(@resource, confirmation_token: @token) %> ``` ここに言語名を入力 Ruby ``` お分かりになる方がいらっしゃいましたら御指南よろしくお願いいたします。
回答: メールのテンプレートに記載されるhostの情報がないと言っているのでそこを設定でしょうか。 自分のherukuのアプリのベースurlを書く必要があると思います。 ``` config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' } ``` https://stackoverflow.com/questions/4114835/heroku-devise-missing-host-to-link-to-please-provide-host-parameter-or-set-d