Ruby on Rails - проверка на наличие ошибок HTTP в контроллере - PullRequest
0 голосов
/ 04 июня 2011

Только сегодня я обнаружил, что моя реализация fbgraph начала возвращать ошибку 400 Bad Request, которая вызывает внутреннюю ошибку сервера.

Контроллер выглядит так:

def fb
    fbclient = FBGraph::Client.new(:client_id => 'ID', :secret_id => 'SECRET')
    @fbname = fbclient.selection.user('129220333799040').feed.info!['data'][0].from.name
    @fbmessage = fbclient.selection.user('129220333799040').feed.info!['data'][0].message
end

Как мне проверить перед вызовом @fbname на мой взгляд, что я получил статус 200?

Спасибо.

Обновление: по предложению Девина М я переключил вышеуказанное действие на

def fb
        fbclient = FBGraph::Client.new(:client_id => 'ID', :secret_id => 'SECRET')
        begin
            @fbname = fbclient.selection.user('129220333799040').feed.info!['data'][0].from.name
            @fbmessage = fbclient.selection.user('129220333799040').feed.info!['data'][0].message
        rescue
            @fbname = "Facebook Account"
            @fbmessage = "Facebook's API is a nightmare"
        end
    end

1 Ответ

1 голос
/ 04 июня 2011

Я думаю, что вы должны написать несколько тестов для этого. Трудно работать с кошмаром API Facebook. Хотя, если вы хотите отловить эту ошибку, попробуйте использовать этот способ, чтобы отловить конкретную ошибку и предпринять некоторые действия в части восстановления.

begin
rescue
end

Если вы хотите, чтобы я посмотрел документы и увидел, что вы должны поймать, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...