После развертывания Capistrano мои изображения, загруженные через shrine, больше не отображаются (Rails + SQlite3) - PullRequest
0 голосов
/ 23 сентября 2018

Когда я пытаюсь развернуть свое новое приложение, все прошло гладко.Но раньше у меня была проблема с тем, что мои посты в моем БД исчезали после развертывания capistrano.Я узнал, что это связано с моей базой данных Sqlite3 и что мне нужно добавить общий путь для производства в моем файле 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

, похоже, не исправляетпроблема ... есть идеи?

1 Ответ

0 голосов
/ 23 сентября 2018

Перейдите на /home/deploy/apps/Blogapp/current/public и проверьте с помощью ls -l, есть ли у вас ссылка на /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.

...