find(id)で見つからないとき<
ActiveRecord::RecordNotFound例外が発生します。
例外のキャッチは、rescueにて行うらしい。
def show
@log = Log.find(params[:id])
rescue
logger.error("存在しないログ(#{params[:id]})にアクセスしようとしました。")
flash[:notice] = '指定のページが見つかりません。'
redirect_to(:controller => 'error')
end
な感じ。
一応簡単に解説すると
logger.error()は何かのためになるかもなので、ログファイルに出力。
flashにて、メッセージを設定。
redirect_toにて画面遷移。
閲覧:370回 Tue Oct 09 00:48:25 +0900 2007
