如何更改Active Storage Service的url_expires_in超时?

时间:2018-09-29 18:59:00

标签: ruby-on-rails rails-activestorage

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来生成签名的变体链接,然后似乎没有任何改变的设置。 任何帮助将不胜感激。

谢谢! :)

1 个答案:

答案 0 :(得分:14)

直接设置ActiveStorage::Service.url_expires_in,例如在初始化程序中:

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

路轨6将添加config.active_storage.service_urls_expire_in

# config/initializers/active_storage.rb
Rails.app.config.active_storage.service_urls_expire_in = 1.hour