Я отправляю вложения изображений из React в Rails Active Storage как большой двоичный объект. Все загружается в AWS S3, но возвращаемые данные не подходят для визуализации с <Image
.
Вот пример того, что возвращается в React:
avatar: "/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2…736b6edc83b7ccfc91c7914d7eb595a697fb/IMG_2008.png"
Моя User
модель выглядит так:
class User < ApplicationRecord
include Rails.application.routes.url_helpers
has_secure_password
has_one_attached :avatar
def avatar_filename
self.avatar.filename.to_s if self.avatar.attached?
end
def avatar_attached?
self.avatar.attached?
end
has_many :sightings
has_many :animals, through: :sightings
has_many :comments, :as => :commentable, dependent: :destroy
validates :username, uniqueness: true
def attachment_url
if self.attachment.attached?
Rails.application.routes.url_helpers.rails_blob_path(self.attachement, only_path:true)
else
nil
end
end
end
и UserSerializer
выглядит так:
class UserSerializer < ActiveModel::Serializer
include Rails.application.routes.url_helpers
attributes :id, :name, :username, :avatar
has_many :sightings
has_many :animals, through: :sightings
def avatar
rails_blob_path(object.avatar, only_path: true) if object.avatar.attached?
end
end
Так что я использую url_helper, но не уверен, правильно ли я использую, так как я новичок, и документация может сбить с толку.