Скрепка получить изображение непосредственно через URL - PullRequest
9 голосов
/ 28 января 2011

Возможно ли получить изображение через URL, используя PaperClip?Это возможно с fleximage, но fleximage не поддерживает Rails3, поэтому я переключился на скрепку.

В настоящее время я выбираю изображение с помощью curl, сохраняю его на жестком диске и загружаю через image_fileскрепка.

Я не нашел реального решения с помощью Google, так что, надеюсь, вы мне поможете.

Ответы [ 2 ]

12 голосов
/ 28 января 2011

Да, это возможно и удивительно просто.

В вашей модели:

#we use this to get the image.
require 'rest-open-uri'
Class Model << ActiveRecord::Base
has_attached_file :picture

#Get the picture from a given url.
def picture_from_url(url)
    self.picture = open(url)
end

И тогда вы можете сделать что-то вроде этого:

#controller
@model.picture_from_url(<Your URL here>)

И потомумы сохранили изображение с остальной частью объекта.Вы можете просто использовать это в своих взглядах:

<%= image_tag @model.picture.url %>

Надеюсь, это поможет!

1 голос
/ 28 января 2011

Разве метод <modelname>.<attachmentname>.url не делает то, что вы ищете?

Другими словами, если ваша модель называется Foo, и вы установите ее на has_attached_file :bar, тогда foo.bar.url долженукажите URL своего изображения, которое вы можете поместить в image_tag или link_to или что угодно.

Не могли бы вы уточнить, что вы имеете в виду, если это не то, что вы ищете?

...