Capistrano 部署后以前上传的图像的 RoutingError

RoutingError for previous uploaded images after Capistrano deploy

我有一个 Rails 5.1 应用程序,具有上传文档的功能。

我使用 Paperclip(5.1 版)实现了上传功能。上传存储在 Amazon S3 上。上传文档最初工作正常,但是当我使用 Capistrano 将应用程序重新部署到生产服务器时,之前上传的图像被破坏了。当我查看 production.log 时,我看到了这个 RoutingError:

    F, [2017-11-06T14:07:26.682736 #446] FATAL -- : [012253d0-c103-4e57-8065-33830ad76b9b] ActionController::RoutingError

(No route matches [GET] "/system/absences/attest_pics/000/000/008/original/boekcover.jpg"):

在视图中,我对文档实施了 link,如下所示:

        <% if absence.attest_pic.present? %>
        <td>
          <%= link_to "Download", absence.attest_pic.url %>
        </td>
        <% end %>

有人遇到过这种行为吗?

感谢您的帮助,

安东尼

查看您在服务器中的文件夹。如果路径 your_app/current/public/system 不存在,则需要更改文件: config/deploy.rb 接受 public/system

set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system')