简体   繁体   中英

Rails Server Error Messages

In my Rails app, I want to check if a redirect works correctly, and if it doesn't, then redirect to some other page that I know will work. Essentially, I have a line that says

redirect_to("somesite")

and if the redirect works, it will take me there, but if it doesn't, I get a response like:

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

I tried using rescue block that catches the URI::InvalidURIError, but the error is thrown and never reaches the rescue block. Though what I'm doing may be a little unorthodox, I was wondering if there was a way to grab the error message of "ERROR URI::InvalidURIError" from the server and use that information to write conditions in my code? Thanks!

You can validate your url before the redirect_to action.

for example

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM