Help us understand the problem. What is going on with this article?

RailsでMissing host to link to!が出たときに。model内でURL組み立てる場合の設定

More than 1 year has passed since last update.

前置き

あまりネットで検索しても困っている人を見つけられなかったので設計が変なきもするけれど、ちょっとだけはまったのでメモ

RUby2.4.1、Rails5.1で、ローカルのcentos(vagrant)でもHerokuでも発生。

対象エラー

Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true

ActionMailerのviewのなかで、modelのメソッドを読んでURLを設定するときに出た。

対策

routes.default_url_optionsに設定する必要がある。

/config/environments/development.rb
  host = 'samplehost'
  Rails.application.routes.default_url_options[:host] = host

production.rbにも同じように設定する必要があります。

関連

このエラーで検索すると環境設定ファイルに以下のように設定するとよいという記事がStack Overflowをはじめいろいろ出てくる。
ActionMailerのviewで直接URLを表示するときにはこれが必要。

/config/environments/development.rb
config.action_mailer.default_url_options = { host: "samplehost"}

https://qiita.com/saicologic/items/1c692b42ba203bf2d406

その他

railsのconfig設定がどうなっているか、consoleなどで確認したいのだけれどどうしたらいいだろう?
rails cしてRails.applicationを閲覧すると巨大なオブジェクトはみえるけれど、action_mailer系は見えない。

daik
やっています。ユーザの問題を解決できるプロダクトをつくっていきたい。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした