wouldn't be possible to use the mechanism already implemented in the  update_role function in the students controller? Therefore the method itself would be more flexible and could be reused for promotion of staff to (from staff to admin e.g.)