Rails服务器错误消息

时间:2014-08-14 00:18:53

标签: ruby-on-rails activerecord uri server-side

在我的Rails应用程序中,我想检查重定向是否正常工作,如果没有,则重定向到我知道可以工作的其他页面。基本上,我有一行说

redirect_to("somesite")

如果重定向有效,它会把我带到那里,但如果没有,我会收到如下回应:

Completed 302 Found in 1ms (ActiveRecord: 0.0ms) ERROR URI::InvalidURIError

我尝试使用可以捕获URI :: InvalidURIError的rescue块,但是错误被抛出并且永远不会到达救援块。虽然我正在做的事情可能有点不正统,但我想知道是否有办法从服务器获取“ERROR URI :: InvalidURIError”的错误消息并使用该信息在我的代码中写入条件?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在redirect_to操作之前验证您的网址。

例如

url = "somesite"
if valid? uri
  redirect_to uri
else
  #handler
end

private
def valid?(uri)
  !!URI.parse(uri)
rescue URI::InvalidURIError
  false
end