Rails 5.2 API ActiveStorage, как получить URL-пути для нескольких изображений? - PullRequest
0 голосов
/ 22 мая 2018

Я мигрирую из скрепки для Rails 5.2 и активного хранилища.Я использую рельсы только для API.

Как получить пути URL для has_many_attached: images

Это код для одного файла, который работает:

class UserSerializer < ActiveModel::Serializer
include Rails.application.routes.url_helpers
attributes %i[email name username]
....
  attribute :verification_url do
    if object.verification_file.attachment
      URI.join(ActionController::Base.asset_host, rails_blob_path(object.verification_file))
    end
  end
....

end

И когда япопробуйте сделать что-то подобное для нескольких изображений. Я просто получаю эти изображения, а не их URL.

 include Rails.application.routes.url_helpers
 attributes :id, :name, :description, :images

 def images
  if object.images.attachments
    object.images.each do |image| 
      URI.join(ActionController::Base.asset_host, rails_blob_path(image))
    end
  end 
end

1 Ответ

0 голосов
/ 23 мая 2018

Вот решение:

def images
  return unless object.images.attachments
  image_urls = object.images.map do |image| 
    URI.join(
      ActionController::Base.asset_host, 
      rails_blob_path(image))
  end

  image_urls
end
...