Запустил новое приложение Rails 6 с Shrine, все свежее из коробки, следуя руководству по началу работы. Файл успешно загружен, но на странице шоу тег img - это просто значок сломанного изображения, но если я открою его на новой вкладке, он отобразится. В консоли нет ошибок.
/config/initializers/shrine.rb
require "shrine"
require "shrine/storage/file_system"
Shrine.storages = {
cache: Shrine::Storage::FileSystem.new("public", prefix: "uploads/cache"), # temporary
store: Shrine::Storage::FileSystem.new("public", prefix: "uploads") # permanent
}
Shrine.plugin :activerecord # loads Active Record integration
Shrine.plugin :cached_attachment_data # enables retaining cached file across form redisplays
Shrine.plugin :restore_cached_data # extracts metadata for assigned cached files
приложение / загрузчики / image_uploader.rb
class ImageUploader < Shrine
# plugins and uploading logic
end
приложение / модели / content.rb
class Content < ApplicationRecord
include ImageUploader::Attachment(:image) # adds an `image` virtual attribute
end
просмотры / содержимое / show.html.erb
<p>
<strong>Image:</strong>
<%= image_tag @content.image_url %>
</p>
Исходный текст страницы
<img src="/uploads/efe42a8e0d19d3ffcabd26bcddd71473.mp4">