1

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']ん。私は明らかに何かが欠けています(私はルビーに少し慣れていません)。

4

1 に答える 1