Hôte manquant pour créer un lien vers! Veuillez fournir le paramètre: Host, définissez default_url_options [: Host] ou définissez: only_path sur true
J'obtiens aléatoirement cette erreur à la fois, le redémarrage général du serveur résout le problème pendant un certain temps, puis il réapparaît. J'ai ajouté config.action_mailer.default_url_options = "localhost:3000"
, dans les fichiers de développement et test.rb.
De plus, j'ai utilisé include Rails.application.routes.url_helpers
dans un module pour avoir accès aux routes, j'ai lu que cela pouvait être la raison pour laquelle j'obtiens ces erreurs mais le supprimer me laissera sans accès aux routes.
Le module est destiné à la gemme des tables de données.
Pour Rails 5, utilisez:
Rails.application.routes.default_url_options[:Host] = "XXX"
Vous pouvez mettre cela dans un config/environments/
fichier (ou tout autre initialiseur), ou par exemple au début de config/routes.rb
.
Vous devez écrire de la manière suivante
Pour le développement (development.rb)
config.action_mailer.default_url_options = { :Host => "localhost:3000" }
En production (production.rb)
config.action_mailer.default_url_options = { :Host => "myproductionsite.com" }
Vous avez mis à jour les options d'URL par défaut pour l'action mailer. Les assistants URL prendront l'option des paramètres action_controller.
config.action_controller.default_url_options = .....
BR
J'ai eu une erreur similaire. Le problème est dans votre configuration.
Essayez de réécrire votre configuration pour votre development.rb et test.rb comme ceci:
config.action_mailer.default_url_options = { Host: "localhost", port: 3000 }
Vérifiez également que votre configuration dans production.rb est écrite correctement comme ceci:
config.action_mailer.default_url_options = { Host: 'myherokuapp.herokuapp.com' }