Paperclip: No handler found for

Probuje za pomoca devise i omniauth pobrac przy logowaniu miniaturke uzytkownika z Facebooka.

model User:

[code]has_attached_file :avatar,
:styles => {
:thumb => {
:geometry => ‘60x60#’,
:quality => 40,
:format => ‘JPG’
},
:medium => {
:geometry => ‘100x100#’,
:quality => 50,
:format => ‘JPG’
}
},
:default_url => ‘/images/normal/:style.png’

def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
user = User.where(:provider => auth.provider, :uid => auth.uid).first
unless user
user = User.create(name:auth.extra.raw_info.name,
provider:auth.provider,
uid:auth.uid,
email:auth.info.email,
avatar:auth.info.image.sub(“square”,“large”),
password:Devise.friendly_token[0,20]
)
end
user
end[/code]
Czyli zapisujac usera w bazie chce stworzyc avatar:

avatar:auth.info.image.sub("square","large")

[code]Niestety przy zapisie wyrzuca blad ktorego nie rozumiem:

Paperclip::AdapterRegistry::NoHandlerError in Users/omniauth callbacksController#facebook

No handler found for “http://graph.facebook.com/1243520703/picture?type=large

Rails.root: /home/lukasz/Projects/serialowy/serialowy-swiat
Application Trace | Framework Trace | Full Trace

app/models/user.rb:37:in find_for_facebook_oauth' app/controllers/users/omniauth_callbacks_controller.rb:4:infacebook’[/code]

Jak prosisz o pomoc, to podawaj kompletny zestaw logów, na tą chwilę widać, że Paperclip nie łapie obrazka z facebooka, ale pewnie sam do tego doszedłeś.

Adres avatara zwracany przez facebooka nie jest adresem bezpośrednim. Zrób tak:

def self.get_user_fb_avatar(address) url = URI.parse(address) res = Net::HTTP.start(url.host, url.port) {|http| http.get(address) } res['location'] end