Как эффективнее постепенно перевести Ruby-сайт (на шаблонизаторе) в React SPA?
В идеале сначала написать приемочные тексты для текущих страниц сайта, чтобы после переезда на SPA с SSR, быть уверенным, что ничего не пропало, не отвалилось и работает так, как работало.
После этого делаете нужные API прямо в своем Ruby-бэкенде. Параллельно с этим создаете новый репозиторий для фронтенда и, собственно, его делаете. Тут вам поможет сам React и такая штука для него, как NextJS.
Когда все сделаете, запускаете приемочные тесты и убеждаетесь, что вся функциональность работает, как и раньше.
Переезд с MPA на SPA, особенно когда у вас несколько систем это не маленькая архитектурная задача и надо понимать конкретно что у вас есть, в деталях, какие сроки, сколько рук и все в таком духе. Тут нет Best Practices