Рельсы и OpenURI - PullRequest
       2

Рельсы и OpenURI

8 голосов
/ 18 февраля 2011

Я пытаюсь запустить следующий фрагмент из совершенно нового проекта rails в консоли:

uri = URI.parse("http://25.media.tumblr.com/avatar_279ec8ee3427_64.png")
data = open(uri)

Это ошибки с:

TypeError: can't convert URI::HTTP into String
    from (irb):24:in `open'
    from (irb):24
    from /Users/kevin/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands/console.rb:44:in `start'
    from /Users/kevin/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands/console.rb:8:in `start'
    from /Users/kevin/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.4/lib/rails/commands.rb:23:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

Я работаю на Rails3.0.4 и Ruby 1.9.2.Любые идеи о том, как это исправить?Спасибо!

Ответы [ 2 ]

30 голосов
/ 02 марта 2012

open() будет принимать как строку, так и объект URI.

io = open("http://...")
io = open(URI.parse("http://..."))

Ошибка, которую вы описали, произойдет, если open-uri не включено.

require 'open-uri'
9 голосов
/ 18 февраля 2011

open-uri хочет строку.

data = open("http://25.media.tumblr.com/avatar_279ec8ee3427_64.png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...