mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make Active Storage routes optional
Add configuration option to turn off drawing of Active Storage routes.
This commit is contained in:
parent
3b36d75c8f
commit
3cf65bcb8e
6 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
|||
* Add `config.active_storage.draw_routes` to disable Active Storage routes.
|
||||
|
||||
*Gannon McGibbon*
|
||||
|
||||
* Image analysis is skipped if ImageMagick returns an error.
|
||||
|
||||
`ActiveStorage::Analyzer::ImageAnalyzer#metadata` would previously raise a
|
||||
|
|
|
@ -29,4 +29,4 @@ Rails.application.routes.draw do
|
|||
|
||||
resolve("ActiveStorage::Blob") { |blob, options| route_for(:rails_blob, blob, options) }
|
||||
resolve("ActiveStorage::Attachment") { |attachment, options| route_for(:rails_blob, attachment.blob, options) }
|
||||
end
|
||||
end if ActiveStorage.draw_routes
|
||||
|
|
|
@ -60,6 +60,7 @@ module ActiveStorage
|
|||
mattr_accessor :service_urls_expire_in, default: 5.minutes
|
||||
|
||||
mattr_accessor :routes_prefix, default: "/rails/active_storage"
|
||||
mattr_accessor :draw_routes, default: true
|
||||
|
||||
mattr_accessor :replace_on_assign_to_many, default: false
|
||||
|
||||
|
|
|
@ -73,6 +73,7 @@ module ActiveStorage
|
|||
ActiveStorage.analyzers = app.config.active_storage.analyzers || []
|
||||
ActiveStorage.paths = app.config.active_storage.paths || {}
|
||||
ActiveStorage.routes_prefix = app.config.active_storage.routes_prefix || "/rails/active_storage"
|
||||
ActiveStorage.draw_routes = app.config.active_storage.draw_routes != false
|
||||
|
||||
ActiveStorage.variable_content_types = app.config.active_storage.variable_content_types || []
|
||||
ActiveStorage.content_types_to_serve_as_binary = app.config.active_storage.content_types_to_serve_as_binary || []
|
||||
|
|
|
@ -885,6 +885,8 @@ text/javascript image/svg+xml application/postscript application/x-shockwave-fla
|
|||
|
||||
* `config.active_storage.replace_on_assign_to_many` determines whether assigning to a collection of attachments declared with `has_many_attached` replaces any existing attachments or appends to them. The default is `true`.
|
||||
|
||||
* `config.active_storage.draw_routes` can be used to toggle Active Storage route generation. The default is `true`.
|
||||
|
||||
### Results of `load_defaults`
|
||||
|
||||
#### With '5.0':
|
||||
|
|
|
@ -2593,6 +2593,21 @@ module ApplicationTests
|
|||
MESSAGE
|
||||
end
|
||||
|
||||
test "ActiveStorage.draw_routes can be configured via config.active_storage.draw_routes" do
|
||||
app_file "config/environments/development.rb", <<-RUBY
|
||||
Rails.application.configure do
|
||||
config.active_storage.draw_routes = false
|
||||
end
|
||||
RUBY
|
||||
|
||||
output = rails("routes")
|
||||
assert_not_includes(output, "rails_service_blob")
|
||||
assert_not_includes(output, "rails_blob_representation")
|
||||
assert_not_includes(output, "rails_disk_service")
|
||||
assert_not_includes(output, "update_rails_disk_service")
|
||||
assert_not_includes(output, "rails_direct_uploads")
|
||||
end
|
||||
|
||||
test "hosts include .localhost in development" do
|
||||
app "development"
|
||||
assert_includes Rails.application.config.hosts, ".localhost"
|
||||
|
|
Loading…
Reference in a new issue