В качестве авторизации в создаваемом нами интернет магазине будет использоватся гем Devise - https://github.com/heartcombo/devise. Есть миллион разных уроков по этому гему (вот здесь https://github.com/heartcombo/devise/wiki/How-Tos есть миллион статей по разным применениям этого гема). Он представляет собой по сути дела фреймворк авторизации, аутентификации на сайтах которые используют Рейлсы. При этом он очень простой в использовании.
Чтобы установить его в файле gemfile.rb пишем:
gem "devise"
А потом переходим в консоль и набираем bundle update. А потом еще вот это:
rails generate devise:install
Гем установлен! Теперь нам нужно создать два вида пользователей. Покупатели и админы интернет магазина. Для этого создаем две модели в Devise:
rails g model user
А потом:
rails g model admin
Ну и конечно же rails db:migrate. Чтобы запустить миграции. У нас теперь есть форма регистрации, входа, восстановления пароля. В контроллере category.rb который мы хотим закрыть авторизацией пишем сверху вот так:

Надпись before_action :authenticate_admin! означает что нужно войти пользователю с логином и паролем админа.
У нас теперь есть регистрация и авторизация пользователей! Как все просто с Ruby on Rails!
