`authorize!` actually raises so we should just be able to call `authorize!` and remove this branching logic. We're [currently rescuing](https://github.com/opscode/supermarket/blob/master/app/controllers/application_controller.rb#L8) from `NotAuthorizedError` in `ApplicationController` but since this is a bit more specific you'll probably want to rescue in this controller and return `head :forbidden`.