El flujo de renderizado con renderizado del lado del servidor (que hace Sinatra) es el siguiente:
- Cargue datos y ejecute cálculos en el controlador / controlador de ruta (como quiera llamarlo)
- Pasar variables a plantilla
- Dentro de la plantilla, iterar sobre datos, etc. para generar HTML
- Enviar HTML al cliente
- El cliente recibe HTML y carga activos (imágenes, CSS, archivos JS)
- El cliente aplica CSS y ejecuta JavaScript
Sinatra puede renderizar HTML. El código Sinatra no se ejecuta en el navegador. jQuery se ejecuta en el navegador.
Su lógica Sinatra siempre se ejecuta antes de que jQuery pueda ejecutarse.
- ¿React-Bootstrap está listo para usar?
- ¿Es necesario tener experiencia en Angular 2 antes de trabajar en Angular 4?
- ¿Hay un futuro para PHP?
- ¿Qué recursos puedo usar para diseñar páginas web correctamente?
- ¿Es justo decir que JavaScript y PHP siguen siendo "inferiores" a otros lenguajes de programación, a pesar de sus encarnaciones modernas como PHP7 y ES2015 +?
Ahora para crear una solicitud POST desde el lado del cliente, deberá agregar un punto final POST en su aplicación Sinatra. Desde jQuery, envíe una solicitud POST a ese punto final y ejecute un código Ruby que haga algo y luego devuelva 200 Success o JSON.