aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-21 16:25:01 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-21 16:25:01 -0500
commitc231a73b892e1fd2d4ae2e939fe36bee0238f919 (patch)
treeb8eb68ab8430f8ec6f30609b3f26f19d8075036f /config
parentdd3eced57622f256891ce97cdd0cf1feabef40c2 (diff)
downloadrails-c231a73b892e1fd2d4ae2e939fe36bee0238f919.tar.gz
rails-c231a73b892e1fd2d4ae2e939fe36bee0238f919.tar.bz2
rails-c231a73b892e1fd2d4ae2e939fe36bee0238f919.zip
Provide directed URL as well as resolving
Diffstat (limited to 'config')
-rw-r--r--config/routes.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/config/routes.rb b/config/routes.rb
index bd0787180a..c376493199 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,13 +1,16 @@
ActiveStorage::Engine.routes.draw do
get "/rails/active_storage/disk/:encoded_key/*filename" => "active_storage/disk#show", as: :rails_disk_blob
- get "/rails/active_storage/variants/:encoded_blob_key/:variation_key/*filename" => "active_storage/variants#show", as: :rails_blob_variant
post "/rails/active_storage/direct_uploads" => "active_storage/direct_uploads#create", as: :rails_direct_uploads
- resolve 'ActiveStorage::Variant' do |variant|
+ get "/rails/active_storage/variants/:encoded_blob_key/:variation_key/*filename" => "active_storage/variants#show", as: :rails_blob_variation
+
+ direct :rails_variant do |variant|
encoded_blob_key = ActiveStorage::VerifiedKeyWithExpiration.encode(variant.blob.key)
- variantion_key = ActiveStorage::Variation.encode(variant.variation)
+ variation_key = variant.variation.key
filename = variant.blob.filename
- route_for(:rails_blob_variant, encoded_blob_key, variantion_key, filename)
+ route_for(:rails_blob_variation, encoded_blob_key, variation_key, filename)
end
+
+ resolve 'ActiveStorage::Variant' { |variant| route_for(:rails_variant, variant) }
end