web-dev-qa-db-ja.com

Active Storage Service url_expires_inタイムアウトをどのように変更しますか?

Active Storageが署名されたバリアントURLを作成すると、5.minutesのデフォルトのタイムアウトが設定されます。私は本当にこれを増やしたいと思っていますが、Githubの問題やコードダイビングを調べてきましたが、どこにも見つかりません。サービスクラスの44行目にclass_attributeが設定されていますが、これをどのように上書きできますか?

https://github.com/Rails/rails/blob/5-2-stable/activestorage/lib/active_storage/service.rb#L44

署名されたバリアントリンクを生成するためにurl_forを使用していますが、その設定を変更する方法はありません。どんな助けでも大歓迎です。

ありがとうございました! :)

9
PR Whitehead

ActiveStorage::Service.url_expires_inを直接設定します。初期化子で:

# config/initializers/active_storage.rb
ActiveStorage::Service.url_expires_in = 1.hour

Rails 6はconfig.active_storage.service_urls_expire_inを追加します:

# config/initializers/active_storage.rb
Rails.application.config.active_storage.service_urls_expire_in = 1.hour
15
George Claghorn