Set default_url_options For Entire Application
There are a number of ways to set default_url_options
for the various modules that need them. While the development server can infer URL options for the most part, it needs them explicitly defined for ActionMailer
. You may also see the ArgumentError: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
error when using a URL helper. That's because the routes
config also needs to know.
Instead of cobbling together default settings in several different places as the issues arise, you can define them application-wide like so:
Add the default_url_options
to Rails.application
just outside of the standard configure
block in each of your environment config files. Now everything should know how to generate full URLs.
Note: I've tested this out in a Rails 6.1 application.
Last updated