Authorization needs to be done first or else it will give CanCan::AuthorizationNotPerformed error for some of branches. Removed if condition is dead code. Small fix in flash message of destroy and its feature test.