だめではないと思いますが、rails のコードだと case 文が使われていることが多い気がします。
https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/redirecting.rb#L86