Проверьте скрепка .Что касается получения изображений с внешнего сайта с использованием скрепки:
require 'open-uri'
class Photo < ActiveRecord::Base
attr_accessor :remote_url
has_attached_file :image, :styles => { :thumb => ["32x32#", :png] }
before_validation :get_remote_image, :if => :remote_url_provided?
validates_presence_of :remote_url, :if => :remote_url_provided?, :message => 'is invalid or inaccessible'
...
protected
def remote_url_provided?
!self.remote_url.blank?
end
def get_remote_image
self.image = Photo.download_remote_image(self.remote_url)
end
def self.download_remote_image (uri)
io = open(URI.parse(uri))
def io.original_filename; base_uri.path.split('/').last; end
io.original_filename.blank? ? nil : io
rescue
end
end
Нет необходимости указывать: remote_url - это собственный столбец базы данных, но вы можете, если хотите,
* 1007также настоятельно рекомендуем использовать некоторые средства управления доступом для метода create для контроллера вашей модели и проверки типов содержимого в загружаемом URI, но это уже отдельная тема.