首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Capistrano部署后,我通过shrine上传的图像不再显示(Rails + SQlite3)

在Capistrano部署后,我通过shrine上传的图像不再显示(Rails + SQlite3)
EN

Stack Overflow用户
提问于 2018-09-23 16:55:33
回答 1查看 41关注 0票数 0

当我尝试部署我的新应用程序时,一切都很顺利。但我曾经遇到过这样的问题:在capistrano部署之后,我的数据库中的帖子就消失了。我发现,这与我的Sqlite3 DB有关,并且我必须在我的database.yml中添加用于生产的共享路径。这就是为什么我添加了:

代码语言:javascript
复制
    production:
  adapter: sqlite3
  database: /home/deploy/apps/Blogapp/releases/shared/db/production.sqlite3

现在我的帖子还停留在帽子部署后,但我的图片不再显示。我想我必须把它们放进去,或者以某种方式将它们链接到那个文件夹,但我不确定怎么做。我的shrine.rb是这样的:

代码语言:javascript
复制
 require 'shrine'
require 'shrine/storage/file_system'

Shrine.storages = {
    # temporary storage
    cache: Shrine::Storage::FileSystem.new('public', prefix: 'uploads/cache'),
    enter code here
    # permanent storage
    store: Shrine::Storage::FileSystem.new('public', prefix: 'uploads/store'),
}

Shrine.plugin :activerecord
Shrine.plugin :cached_attachment_data # for forms

将上传/缓存更改为/home/deploy/apps/Blogapp/releases/shared/uploads/cache

并上传/存储到

代码语言:javascript
复制
/home/deploy/apps/Blogapp/releases/shared/uploads/store

似乎不能解决这个问题...有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-23 21:27:40

如果您有指向ls -l的链接,请访问/home/deploy/apps/Blogapp/current/public并与/home/deploy/apps/Blogapp/releases/shared/uploads进行核对。

当您向/shared添加自定义文件夹时,您必须告诉capistrano对它们进行符号链接,但您需要进行一些更改。

首先,将路径更改为/shared/public

代码语言:javascript
复制
/home/deploy/apps/Blogapp/releases/shared/public/uploads

现在,将此代码添加到您的deploy.rb

代码语言:javascript
复制
set :linked_dirs, fetch(:linked_dirs, [])+%W{public/uploads}

现在,在部署之后,capistrano将创建一个从current/public/uploadsshared/public/uploads的符号链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52464556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档