Как сохранить изображение с адреса с активным хранилищем рельсов? - PullRequest
0 голосов
/ 25 июня 2018

Я хочу сохранить файл (в данном случае изображение), расположенный на другом веб-сервере http, используя активное хранилище rails 5.2.

У меня есть объект со строковым параметром для исходного URL-адреса.Затем в поле before_save я хочу получить удаленное изображение и сохранить его.

Пример: URL-адрес изображения http://www.example.com/image.jpg.

require 'open-uri'

class User < ApplicationRecord
  has_one_attached :avatar
  before_save :grab_image

  def grab_image
    #this indicates what I want to do but doesn't work
    downloaded_image = open("http://www.example.com/image.jpg")
    self.avatar.attach(downloaded_image)
  end

end

Заранее благодарен за любые предложения.

1 Ответ

0 голосов
/ 25 июня 2018

Только что нашел ответ на свой вопрос. Мой первый инстинкт был довольно близок ...

require 'open-uri'

class User < ApplicationRecord
  has_one_attached :avatar
  before_save :grab_image

  def grab_image
    downloaded_image = open("http://www.example.com/image.jpg")
    self.avatar.attach(io: downloaded_image  , filename: "foo.jpg")
  end

end
...