2011-06-16 27 views
8

Estoy un poco confundido de por qué este no es un problema abordado más comúnmente, pero aquí va.Vistas de carriles compartidos y JavaScript

Tengo mi aplicación Rails que genera mis vistas normalmente. Tengo un contenido dinámico en la interfaz.

Deseo realizar una llamada AJAX, devolver JSON y rellenar las partes dinámicas de la aplicación. Yo usaría una biblioteca de plantillas JS para hacer esto.

NO QUIERO hacer una llamada AJAX, hacer que Rails procese la vista y envíe todo el HTML de nuevo. Quiero que la respuesta sea JSON para reducir el procesamiento y el tiempo de conexión.

El problema es que el HTML que estoy generando dinámicamente es el mismo HTML que estoy generando estáticamente en la página cargada por Rails (piense en la paginación AJAX). El HTML está naturalmente en mis archivos ERB. Pero cuando genero más contenido (por ejemplo, página 2), obviamente no puedo acceder a los archivos ERB y necesito duplicar el HTML en un archivo de plantilla de JavaScript.

¿Existe alguna solución que me permita compartir mis vistas entre Rails y JS? (Entiendo que es un poco incómodo tratar de mezclar ERB con renderizado JS ... bucles, condicionales, etc.)

¿La gente generalmente se conforma con renderizar HTML y enviarlo por cable? O, ¿ejecutan torpemente JavaScript al cargar la página para representar utilizando plantillas JS?

+0

Si sus puntos de vista son bastante simples, se podía ver hasta qué punto puede obtener, por ejemplo, HAML y HAML-JS (https://github.com/creationix/haml-js) en este contexto. – polarblau

Respuesta

Cuestiones relacionadas