Railsでコントローラーのアクションを強制終了させてリダイレクトしたり何らか正常なレスポンスを返したりしたい時のやり方。
カスタムエラークラスを作り、rescue_from
でキャッチしてあげれば良い。
class HogeController < ApplicationController
class FugaError < ActionController::ActionControllerError
end
rescue_from FugaError do |error|
redirect_to piyo_url, alert: error.message
end
def index
do_somithing!
end
private
def do_something!
raise FugaError.new("Error!")
end
end