有没有推荐的方法来处理轨道中的Twitter API错误



我正在创建一个与Twitter相关的web服务。所以Twitter API在很多方面都被调用。我知道rescue Twitter::Error::TooManyRequests可以处理速率限制错误。

但是在每一个地方编写beginrescue语法很少麻烦,而且容易出错。

当错误发生时,我想在视图中显示一条错误消息,并使twitter请求方法返回nil

我正在使用twitter gem并像这样使用。

 # app/models/user.rb
 def twitter
    @twitter ||= Twitter::Client.new(oauth_token: access_token, oauth_token_secret: access_secret)
 end

我怎样才能实现这样的功能?

此外,这只是我想到的,如果有更好的方法,我会按照指示去做。

只需挽救错误并在方法中返回nil:

# app/models/user.rb
def twitter
  @twitter ||= Twitter::Client.new(oauth_token: access_token, oauth_token_secret: access_secret)
rescue Twitter::Error::TooManyRequests
  nil
end

现在,当您的错误发生时,方法本身将返回nil。

然后在你的控制器中,如果twitter方法返回nil,你可以设置flash(你也可以选择比nil更具描述性的东西)。

最新更新