Я думаю, что вы используете это неправильно. Вы не обслуживаете приложение Rails таким образом, запуская его с помощью "rails s". Обычно вы используете веб-сервер (nginx, apache и т. Д.) И сервер приложений (например, Phusion Passenger).
Сервер приложений запускает приложение rails (оно может запускать несколько приложений другого типа, например, узел), и веб-сервер получает все запросы дохода и перенаправляет на сервер приложений, который обрабатывает, к какому приложению будет передан запрос.
Здесь объясняется, как это настроить.
Если вы не хотите использовать Passenger и хотите использовать только Puma + Ngix, посмотрите здесь . Вы должны использовать Puma-менеджер.
Приложение Angular является «простым» html / css / js приложением. Только статические файлы. Таким образом, это может быть подано таким образом.
Взгляните на официальный документ, там объясняется, как собрать и развернуть .