Sinatra を使用してエラーを適切に処理しようとしています。たとえば、次のようなブロックがあるとします。
get '/auth/' do
...
begin
access_token_obj = OAuth2::AccessToken.new(client, token)
rescue OAuth2::Error => e
return 403, e.description
rescue
return 403, "Something went wrong"
end
...
end
ユーザーに素敵なエラーページを表示したい。Sinatra docs は、次のようなことができることを示唆しています:
error 403 do
"Access forbidden"
end
しかし、エラー メッセージ (「問題が発生しました」またはe.description
) をユーザーに表示するにはどうすればよいでしょうか? 私のerror 403 do
ブロックでは利用できませenv['sinatra.error']
ん。私は明らかに何かが欠けています(私はルビーに少し慣れていません)。