¿Se puede implementar React.js en una aplicación web después de que ya se creó con Rails?

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).

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.

Respuesta corta, si.

Rails no tiene nada que ver con JavaScript. Mientras estamos en el tema, también puede implementar ReactJS en un sitio web cuyo front-end no se escribió en un Marco JavaScript completamente diferente. Simplemente no cruce las corrientes, por así decirlo.

React es un marco de solo vista, lo que significa que su único propósito en la vida es presentar datos. No está solicitando que no esté haciendo nada más que representar datos sin procesar que se le pasan a través de otra fuente beit redux, backbone, angular, una llamada jquery Ajax o una solicitud http estándar a través de JavaScript vainilla.

Por qué no, por lo que sé, reaccionar es una biblioteca de JavaScript para hacer interfaces de usuario, por lo que es aceptable implementar reactjs en una aplicación web que se ha creado en Rails ya que es del lado del servidor, ¡así que creo que es posible!