提交 3cf65bcb 编写于 作者: G Gannon McGibbon

Make Active Storage routes optional

Add configuration option to turn off drawing of Active Storage routes.
上级 3b36d75c
* 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 @@
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 @@ class Engine < Rails::Engine # :nodoc:
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 @@ class MyLogger < ::Logger
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"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册