【问题标题】:Every time I deploy with Capistrano two images are removed from my page每次我使用 Capistrano 部署时,都会从我的页面中删除两个图像
【发布时间】:2014-01-27 20:44:52
【问题描述】:

我有一个 Spree Webshop Ruby on Rails 应用程序。每次我运行cap deploy 并查看我的页面时,主页上显示的三个产品图像中的两个都消失了。

这两个图像仍作为替代文本显示在管理页面上(因此不是实际图像)。当我点击它时,我收到以下消息:

No route matches [GET] "/spree/products/7/product/imagename.png"

Rails.root: /rails/releases/20140127203640

我处理图像的方式没有区别,我昨天都将它们添加到页面中。我不知道这是怎么回事,所以我不知道要发布哪些额外信息。有人知道这怎么可能吗?

/EDIT 因此,一个想法是将服务器上的 public/spree 目录与 Capistrano 目录(?)进行符号链接。我该怎么做

namespace :deploy do
  task :symlink_shared do
     run "ln -nfs #{shared_path}/public/spree/ #{release_path}/public/spree/"
  end

?

【问题讨论】:

    标签: ruby-on-rails ruby capistrano spree


    【解决方案1】:

    您需要确保您的 RAILS_ROOT/public/spree 目录是从 Capistrano 共享目录中符号链接的,并且不会在每次部署时重新创建。如果此符号链接没有发生,您的图像将在每次部署时丢失。

    【讨论】:

    • 我有三个产品,只有两个丢失了。如何对 spree_directory 进行符号链接?你的意思是我应该在 deploy.rb 中添加一个额外的行吗?如果是这样,是哪个?
    • 查看我尝试过的最新答案。我不知道 Capistrano 共享目录是什么。
    • 在 rails/current/public/spree/products 的服务器上,我确实看到了所有三种产品,但是在三个图像文件夹中,只有第 3 个具有编号 3,另一个具有 12 和 13 以及在我删除并更新它们之后,它变成了 14 和 15...
    • 你能解释一下我是怎么做这个符号链接的吗?仍然没有设法解决它。
    • 你能解释一下怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 2014-08-02
    • 2020-03-29
    • 2012-01-04
    • 2020-10-04
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多