Если вы создаете пользователя определенного типа, я бы использовал Rails STI для управления различными типами пользователей. В вашем user.rb все еще есть ваша проверка на создание пользователя и некоторые разрешения, но у вас будет
normal_user.rb
class NormalUser < User
end
admin_user.rb
class AdminUser < User
end
Ваша миграция будет состоять в том, чтобы добавить 'type' в таблицу users. Тогда любого существующего пользователя, которого вы хотите сделать администратором, вы просто найдете и установите его тип «AdminUser». Любые конкретные действия администратора, которые вам нужны, вы можете просто использовать
User.is_a?(AdminUser)