如何更改 Active Storage Service url_expires_in 超时?

How do you change the Active Storage Service url_expires_in timeout?

当 Active Storage 创建签名变体 URL 时,它会设置默认超时 5.minutes。我真的很想增加这个,但我一直在拖网 Github 问题,代码潜水,但无法在任何地方找到它。 在服务class的第44行设置了一个class_attribute,但如何覆盖它?

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

我正在使用 url_for 来生成签名的变体链接,然后似乎无法更改设置。 任何帮助将不胜感激。

谢谢! :)

直接设置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