Я использую встроенные шаблоны haml в своем приложении sinatra. У меня есть @@layout
с таким разделом:
#message
- if flash[:notice]
%section.notice= flash[:notice]
- if flash[:error]
%section.error= flash[:error]
Когда я использую flash[:notice]
= "Привет!" в маршруте и нажмите на ссылку, следующая страница радостно говорит «Привет» в #message
div. great.
Так вот в чем проблема, я использую right.js, чтобы добавить некоторую привлекательность ajax в свое приложение. Поведение стеллажной флэш-памяти в лучшем случае противоречиво.
В большинстве случаев вы нажимаете на ссылку (.linkey
), немного javascript перехватывает ее и загружает в div #content
(эта часть также работает), затем div #message перезагружается & Вспышка для предыдущего действия отображается ... при следующем щелчке по ссылке ... в 80% случаев, в остальное время ничего не отображается.
Это мой JS:
"a.linkey".onClick(function(event) {
event.stop();
$('content').load( [ "/", this.get('id'), ].join("") );
$('message').load( '/message' );
});
Я хотел бы что-то вроде этого:
1) Нажмите на ссылку
2) целевая ссылка (/ foo) загружается в #content
3) #message
перезагружается с сообщением (с маршрута flash[:notice]
= "бар")
4) #content
теперь отображается /foo
& #message
отображает "полосу"
Я также пробовал это с $('message').load( '/message' );
, но он либо ничего не загружает в #message
, либо заполняет #message
"/ message" (строка, а не содержимое).
Я хотел бы знать, что здесь происходит? Это что-то с rack-flash или right.js? или что-то другое? Я могу предоставить больше кода, если это необходимо, но на самом деле ничего не выходит за рамки базового фреймворка, так как я только начинаю этот проект.