Sí. Lo que estás sugiriendo es un patrón común y preferido (en mi opinión).
Esto es lo que sugeriría …
Levante un repositorio separado para su código de interfaz de usuario (React). Querrá que su código Rails sirva solo como API (es decir, rutas, controladores y archivos rabl que sirven como puntos finales RESTful para las solicitudes entrantes).
- ¿Cómo se clasifica Firebase como competidor de Pusher y PubNub?
- Cómo aprender a escribir aplicaciones web
- ¿Cómo manejamos los problemas de envío de formularios dobles o de páginas de actualización en las aplicaciones web Spring Boot?
- ¿La gente pasa tiempo en Quora por el valor del entretenimiento?
- ¿Es la aplicación secreta un poco turbia? ¿La gente entiende cómo agregará valor a la sociedad?
Vas a chatarra o reutilizar cualquier código de Rails en la parte superior de los controladores. Es decir, desechará o reutilizará los artefactos de la canalización de activos tradicional de Rails (archivos JS existentes, plantillas html, hojas de estilo, etc.).
Tendrá que verificar que puede enviar solicitudes contra su API de Rails con un cliente HTTP estándar como Paw o Postman y confirmar que se comporta como se espera para los verbos (GET, POST, PUT, DELETE).
Una vez que sus puntos finales de API estén confirmados y validados, comience a desarrollar su aplicación React. Hará solicitudes desde su código React UI a su API de Rails utilizando una biblioteca HTTP basada en promesas como axios. También es una práctica común usar un contenedor de estado como Redux o Mobx.
Todo lo mejor.