Cancan

ну шо
как-то сумбурно, я к тому что elsif user.persisted? лишнее условие