mirror of
https://github.com/jbranchaud/til
synced 2026-01-06 16:48:01 +00:00
Add Set default_url_options For Entire Application as a Rails til
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
||||||
|
|
||||||
_1009 TILs and counting..._
|
_1010 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -664,6 +664,7 @@ _1009 TILs and counting..._
|
|||||||
- [Select A Select By Selector](rails/select-a-select-by-selector.md)
|
- [Select A Select By Selector](rails/select-a-select-by-selector.md)
|
||||||
- [Select Value For SQL Counts](rails/select-value-for-sql-counts.md)
|
- [Select Value For SQL Counts](rails/select-value-for-sql-counts.md)
|
||||||
- [Serialize With fast_jsonapi In A Rails App](rails/serialize-with-fast-jsonapi-in-a-rails-app.md)
|
- [Serialize With fast_jsonapi In A Rails App](rails/serialize-with-fast-jsonapi-in-a-rails-app.md)
|
||||||
|
- [Set default_url_options For Entire Application](rails/set-default-url-options-for-entire-application.md)
|
||||||
- [Set Schema Search Path](rails/set-schema-search-path.md)
|
- [Set Schema Search Path](rails/set-schema-search-path.md)
|
||||||
- [Show Pending Migrations](rails/show-pending-migrations.md)
|
- [Show Pending Migrations](rails/show-pending-migrations.md)
|
||||||
- [Show Rails Models With Pry](rails/show-rails-models-with-pry.md)
|
- [Show Rails Models With Pry](rails/show-rails-models-with-pry.md)
|
||||||
|
|||||||
30
rails/set-default-url-options-for-entire-application.md
Normal file
30
rails/set-default-url-options-for-entire-application.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Set default_url_options For Entire Application
|
||||||
|
|
||||||
|
There are a [number of
|
||||||
|
ways](https://github.com/rails/rails/issues/29992#issuecomment-575464112) 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:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
# config/environments/development.rb
|
||||||
|
Rails.application.default_url_options = { host: 'localhost', port: 3000 }
|
||||||
|
|
||||||
|
Rails.application.configure do
|
||||||
|
# ...
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
[source](https://discuss.rubyonrails.org/t/define-host-so-absolute-urls-work-in-development-and-test/75085/10)
|
||||||
Reference in New Issue
Block a user