diff options
author | rhenium <re4k@re4k.info> | 2013-05-18 20:27:20 +0900 |
---|---|---|
committer | rhenium <re4k@re4k.info> | 2013-05-18 20:27:20 +0900 |
commit | 28ef1eda1cb1d0810a49fbbacee5d7628e531001 (patch) | |
tree | 3a974d3b7f4779a31d8d0a0bc5326d550f67c846 /app | |
parent | 0b01cf035bb7c8048e9d69e59a0fc8176e4fb06c (diff) | |
download | aclog-28ef1eda1cb1d0810a49fbbacee5d7628e531001.tar.gz |
update error handling
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/errors_controller.rb | 9 | ||||
-rw-r--r-- | app/views/errors/error.html.haml | 23 | ||||
-rw-r--r-- | app/views/errors/error.json.jbuilder | 24 |
3 files changed, 11 insertions, 45 deletions
diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index e1d5dcf..eac8028 100644 --- a/app/controllers/errors_controller.rb +++ b/app/controllers/errors_controller.rb @@ -1,3 +1,4 @@ +# -*- encoding: utf-8 -*- class ErrorsController < ApplicationController layout "index" skip_before_filter :check_format @@ -13,20 +14,28 @@ class ErrorsController < ApplicationController # /i/callback redirect_to root_path when Aclog::Exceptions::TweetNotFound + @message = "ツイートが見つかりませんでした。" render "error", status: 404 when Aclog::Exceptions::UserNotFound + @message = "ユーザーが見つかりませんでした。" render "error", status: 404 when Aclog::Exceptions::UserNotRegistered + @message = "ユーザーは aclog に登録していません。" render "error", status: 404 when Aclog::Exceptions::UserProtected + @message = "ユーザーは非公開です。" render "error", status: 403 when Aclog::Exceptions::LoginRequired + @message = "このページの表示にはログインが必要です。" render "error", status: 403 when Aclog::Exceptions::OAuthEchoUnauthorized + @message = "OAuth Echo 認証に失敗しました。" render "error", status: 401 when ActionController::RoutingError + @message = "このページは存在しません。" render "error", status: 404 else + @message = "Internal Error: #{@exception.class}" render "error", status: 500 end end diff --git a/app/views/errors/error.html.haml b/app/views/errors/error.html.haml index 46fd2fb..35eca43 100644 --- a/app/views/errors/error.html.haml +++ b/app/views/errors/error.html.haml @@ -1,24 +1,3 @@ %h1= response.status .lead - - case @exception - - when Aclog::Exceptions::TweetNotFound - ツイートが見つかりませんでした。 - - when Aclog::Exceptions::UserNotFound - ユーザーが見つかりませんでした。 - - when Aclog::Exceptions::UserNotRegistered - ユーザーは aclog に登録していません。 - - when Aclog::Exceptions::UserProtected - ユーザーは非公開です。 - - when Aclog::Exceptions::LoginRequired - このページの表示にはログインが必要です。 - - when Aclog::Exceptions::OAuthEchoUnauthorized - OAuth Echo 認証に失敗しました。 - - when ActionController::RoutingError - このページは存在しません。 - - else - - if response.status == 404 - Not Found (Unknown): - = @exception.class - - else - Internal Error (Unknown): - = @exception.class + = @message diff --git a/app/views/errors/error.json.jbuilder b/app/views/errors/error.json.jbuilder index b3dbb77..ebbeb4d 100644 --- a/app/views/errors/error.json.jbuilder +++ b/app/views/errors/error.json.jbuilder @@ -1,27 +1,5 @@ json.error do |json| json.status response.status - case @exception - when Aclog::Exceptions::TweetNotFound - json.message "ツイートが見つかりませんでした。" - when Aclog::Exceptions::UserNotFound - json.message "ユーザーが見つかりませんでした。" - when Aclog::Exceptions::UserNotRegistered - json.message "ユーザーは aclog に登録していません。" - when Aclog::Exceptions::UserProtected - json.message "ユーザーは非公開です。" - when Aclog::Exceptions::LoginRequired - json.message "このページの表示にはログインが必要です。" - when Aclog::Exceptions::OAuthEchoUnauthorized - json.message "OAuth Echo 認証に失敗しました。" - when ActionController::RoutingError - json.message "このページは存在しません。" - else - json.exception @exception.class - if response.status == 404 - json.message "Not Found (Unknown)" - else - json.message "Internal Error (Unknown)" - end - end + json.message @message end |