web-dev-qa-db-ja.com

リンクするホストがありません! Rails 4の場合は、:Hostパラメータを指定してください

リンクするホストがありません! :Hostパラメータを指定するか、default_url_options [:Host]を設定するか、:only_pathをtrueに設定してください

このエラーがランダムに発生します。通常、サーバーを再起動するとしばらくの間問題が解決し、その後再び表示されます。私が追加しました config.action_mailer.default_url_options = "localhost:3000"、開発およびtest.rbファイル内。

また、include Rails.application.routes.url_helpersルートへのアクセスを取得するための1つのモジュールで、これらのエラーが発生する理由はこれであると読みましたが、削除すると、ルートにアクセスできなくなります。
モジュールはデータテーブルgem用です。

13
Raunak Joneja

Rails 5の場合:

Rails.application.routes.default_url_options[:Host] = "XXX"

これをconfig/environments/ファイル(または他の初期化子)、またはの初めに config/routes.rb

26
David

あなたは次のように書くべきです

開発用(development.rb)

config.action_mailer.default_url_options = { :Host => "localhost:3000" }

生産中(production.rb)

 config.action_mailer.default_url_options = { :Host => "myproductionsite.com" }
12
Rajarshi Das

アクションメーラーのデフォルトのURLオプションを更新しました。 URLヘルパーはaction_controller設定からオプションを取得します。

config.action_controller.default_url_options = .....

BR

6
Andy

同様のエラーが発生しました。問題は設定にあります。

このようにして、development.rbとtest.rbの構成を書き直してみてください。

config.action_mailer.default_url_options = { Host: "localhost", port: 3000 }

また、production.rbの設定が次のように正しく記述されていることも確認してください。

config.action_mailer.default_url_options = { Host: 'myherokuapp.herokuapp.com' }
2
Ruben Cruz