2012-03-16 2 views
0

Sinatra 앱에서 보석 youtube_it을 사용하고 있습니다. YouTube 동영상 ID가 유효한지 확인하는 데 사용하고 싶습니다.youtube_it gem에서 동영상을 찾을 수없는 경우 404 응답을 처리하는 방법

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. 나는 정말로 질문에 답하고, 최근에는 꽤 힘든 질문을하고 있었고 응답을 얻지 못했습니다. 이 사람은 너희들에게 너무 힘들어서는 안된다. :)

답변

2

이 오류를 catch하는 경우 확실하지 않지만 시도해 볼 수 있습니다.

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

감사합니다. 플래시 메시지 부분을 작동시키지 못했지만 새로운 질문 인 것 같습니다. :) – wuliwong