как обработать ответ 404, когда гем youtube_it не находит видео - PullRequest
0 голосов
/ 16 марта 2012

Я использую гем youtube_it в приложении Sinatra. Я хотел бы использовать его для проверки правильности идентификатора видео YouTube.

client.video_by(youtube_id)

- это запрос. Я получаю этот ответ, когда идентификатор недействителен.

OpenURI::HTTPError: 400
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/parser.rb:8:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/client.rb:95:in `new'
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/client.rb:95:in `video_by'
    from (irb):22

Я не уверен, как с этим справиться, чтобы я мог сказать своему пользователю, что предоставленный ими идентификатор недействителен.

Спасибо!

P.S. Я действительно отвечаю на вопросы, я только что задавал довольно сложные вопросы в последнее время и не получал ответов. Этот не должен быть слишком жестким для вас, ребята. :)

1 Ответ

2 голосов
/ 16 марта 2012

Не уверен, что если вы поймете ошибку, как это, но вы можете попробовать.

begin  
  .... 
  client.video_by(youtube_id)
  ... 
rescue OpenURI::HTTPError
  flash[:notice] = "Oh no! Something bad happened..."
  redirect_to(:action => 'search')
end  
...