Rails 6 - 一段时间后找不到 ActiveStorage 404

Rails 6 - ActiveStorage 404 not found after sometime

X 天一切正常,但随后,随机照片出现崩溃...

在VIEW中我显示的图片是这样的:

<%= link_to image_tag(f.image_2.variant(resize_to_fill: [30,30]), 
    :alt => 'x abc' + f.username.to_s, loading: "lazy" ),
    f.image_2.variant(resize_to_limit: [800,600]),
    :class=>'large_photo_box fancybox' 
 %> 

Class 有:

 has_one_attached :image_1
 has_one_attached :image_2
 has_one_attached :image_3

Production.rb:

config.action_controller.perform_caching = true
config.action_controller.enable_fragment_cache_logging = true

config.cache_store = :file_store, "/tmp/my_cache"
config.public_file_server.headers = {
  'Cache-Control' => "public, max-age=#{10.days.to_i}"
}

它有效,但是......在 X 天后照片停止显示并为查看器放置无照片图标。

何时有效:

这是怎么回事?这里有 RoR 程序员吗? ;)

我没有计算天数,但问题可能出在 production.rb 缓存中?

未找到 404 示例 URL:

https://example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhNbVpzTkdObE1qWjRNRGRxYmpobmNqWnZZakYzY2podFpXSnZad1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpUzJsdWJHbHVaVHNnWm1sc1pXNWhiV1U5SWpJMk1UZ3dOemxmTXpneFlpNXFjR2NpT3lCbWFXeGxibUZ0WlNvOVZWUkdMVGduSnpJMk1UZ3dOemxmTXpneFlpNXFjR2NHT3daVU9oRmpiMjUwWlc1MFgzUjVjR1ZKSWc5cGJXRm5aUzlxY0dWbkJqc0dWRG9SYzJWeWRtbGpaVjl1WVcxbE9ncHNiMk5oYkE9PSIsImV4cCI6IjIwMjItMDUtMjhUMDc6MzQ6MzEuNzA2WiIsInB1ciI6ImJsb2Jfa2V5In19--566629b24793a7cca81a263eeb917ecd0d616e72/2618079_381b.jpg

如果您希望变体永久 url,请在 config/storage.yml 中为您的服务添加 public: true。 更多here

我认为这是解决方案:

"要为 blob 生成永久 URL,您可以将 blob 传递给 url_for 视图助手。这会生成一个 URL 与路由到 blob 的 RedirectController

的 blob signed_id

如果没有任何错误,过几天就会看到。