当我尝试部署我的新应用程序时,一切都很顺利。但我曾经遇到过这样的问题:在capistrano部署之后,我的数据库中的帖子就消失了。我发现,这与我的Sqlite3 DB有关,并且我必须在我的database.yml中添加用于生产的共享路径。这就是为什么我添加了:
production:
adapter: sqlite3
database: /home/deploy/apps/Blogapp/releases/shared/db/production.sqlite3现在我的帖子还停留在帽子部署后,但我的图片不再显示。我想我必须把它们放进去,或者以某种方式将它们链接到那个文件夹,但我不确定怎么做。我的shrine.rb是这样的:
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
并上传/存储到
/home/deploy/apps/Blogapp/releases/shared/uploads/store似乎不能解决这个问题...有什么想法吗?
发布于 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
/home/deploy/apps/Blogapp/releases/shared/public/uploads现在,将此代码添加到您的deploy.rb
set :linked_dirs, fetch(:linked_dirs, [])+%W{public/uploads}现在,在部署之后,capistrano将创建一个从current/public/uploads到shared/public/uploads的符号链接。
https://stackoverflow.com/questions/52464556
复制相似问题