estoy usando plantillas en línea HAML en mi aplicación Sinatra. Tengo un @@layout
con una sección como esta:La actualización de un div con el contenido de Flash [Aviso]: utilizando right.js?
#message
- if flash[:notice]
%section.notice= flash[:notice]
- if flash[:error]
%section.error= flash[:error]
Cuando uso flash[:notice]
= "Hola!" en una ruta & clic en un enlace, la página siguiente dice felizmente Hola" en el #message
div. grande.
Así que aquí está el problema, estoy usando right.js a añadir un poco de amabilidad ajax a mi aplicación, el comportamiento del estante-flash es inconsistente en el mejor.
mayoría de las veces, hace clic en un enlace (.linkey
), un poco de intercepta javascript tI & cargas en un #content
div (esta parte funciona tan bien), entonces el ' div #message' se vuelve a cargar & aparece el flash de la acción anterior ... la próxima vez que haga clic en un enlace ... alrededor del 80% de las veces, el resto se muestra el tiempo nada.
Este es mi JS:
"a.linkey".onClick(function(event) {
event.stop();
$('content').load([ "/", this.get('id'), ].join(""));
$('message').load('/message');
});
que me gustaría es algo como esto:
1) Haga clic en enlace
2) el destino del enlace (/ foo) se carga en #content
3) #message
se vuelve a cargar con el mensaje (de la ruta flash[:notice]
= "bar")
4) #content
que ahora muestra /foo
& #message
pantallas "bar"
también he intentado esto con $('message').load('/message');
pero que, o bien las cargas de la nada en #message
o rellenos #message
con "/ mensaje" (no una cadena de los contenidos).
me gustaría saber lo que está pasando aquí? ¿Es algo con rack-flash o right.js? ¿o algo mas? Puedo proporcionar más código si es necesario, pero realmente no hay mucho más allá del marco básico, ya que estoy empezando en este proyecto.