Rails 7 は ActiveStorage の期限切れ URL のサポートを追加します
Rails 5.2 での ActiveStorage の導入により、Rails アプリケーションで添付ファイルをアップロードまたは提供する方法が変わりました.
ActiveStorage により、さまざまなクラウド ストレージ サービスの統合と使用が容易になりました.
添付ファイルを操作しているときに、特定の時間が経過すると URL を期限切れにする必要がある状況によく遭遇します.
以前は、この特定の変更により、サービス URL (以前は service_url と呼ばれていました) を使用して有効期限を設定する必要がありました.
しかし、ActiveStorage にこの変更が導入されたことで、実際のサービス URL を使用または公開することなく、リダイレクト URL 自体で設定できるようになりました.
Rails 7 でのこの最新の追加により、URL は指定された有効期限で期限切れになります.
アプリケーション全体で ActiveStorage URL のデフォルトの有効期限を設定する場合は、
または、環境固有の構成ファイル development.rb、production.rb 内.
ありがとう
ActiveStorage により、さまざまなクラウド ストレージ サービスの統合と使用が容易になりました.
添付ファイルを操作しているときに、特定の時間が経過すると URL を期限切れにする必要がある状況によく遭遇します.
以前は、この特定の変更により、サービス URL (以前は service_url と呼ばれていました) を使用して有効期限を設定する必要がありました.
しかし、ActiveStorage にこの変更が導入されたことで、実際のサービス URL を使用または公開することなく、リダイレクト URL 自体で設定できるようになりました.
Rails 7 でのこの最新の追加により、URL は指定された有効期限で期限切れになります.
# Permanent signed URL
url_for(user.registration)
# http://localhost:4000/rails/active_storage/blobs/redirect/ey...a/registration.jpg
# Service URL with default expiration
user.registration.url
# https://rails-blog.s3.amazonaws.com/....&X-Amz-Expires=360
# Service URL with explicit expiration
user.registration.url(expires_in: 5.seconds)
# https://rails-blog.s3.amazonaws.com/....&X-Amz-Expires=5
# Signed URL with expiration
rails_blob_path(user.registration, disposition: "attachment", expires_in: 5.seconds)
# http://localhost:4000/rails/active_storage/blobs/redirect/ey...a/registration.jpg
アプリケーション全体で ActiveStorage URL のデフォルトの有効期限を設定する場合は、
# config/application.rb
module Blog
class Application < Rails::Application
config.active_storage.urls_expire_in = 30.minutes
end
end
または、環境固有の構成ファイル development.rb、production.rb 内.
# config/environments/production.rb
Rails.application.configure do
config.active_storage.urls_expire_in = 10.minutes # Default: nil
end
ありがとう
Reference
この問題について(Rails 7 は ActiveStorage の期限切れ URL のサポートを追加します), 我々は、より多くの情報をここで見つけました https://dev.to/ronakabhattrz/rails-7-adds-support-for-activestorage-expiring-urls-1l7oテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol