2012-03-16 19 views
0

我在Sinatra應用程序中使用gem youtube_it。我想用它來檢查YouTube視頻ID是否有效。如何處理404響應時youtube_it寶石找不到視頻

client.video_by(youtube_id) 

是查詢。當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 

我不知道如何處理這個,所以我可以告訴我的用戶他們提供的ID是無效的。

謝謝!

P.S.我真的回答了問題,最近我剛剛問了一些非常棘手的問題,並沒有得到答覆。但這對你們來說不應該太難。 :)

回答

2

不知道你是否抓住這樣的錯誤,但你可以試試看。

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

謝謝,工作。我沒有收到Flash消息的部分操作,但我想這是一個新問題。 :) – wuliwong 2012-03-16 21:27:35