Я использую встроенные шаблоны haml в своем приложении sinatra. У меня есть @@ layout
с разделом вроде этого:
#message
- if flash[:notice]
%section.notice= flash[:notice]
- if flash[:error]
%section.error= flash[:error]
Когда я использую flash [: notice]
= "Hello!" на маршруте и щелкните ссылку, на следующей странице с радостью появится сообщение Hello "в #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]
= "bar")
4) #content
теперь отображает / foo
и #message
display s "bar"
Я также пробовал это с помощью $ ('message'). load ('/ message');
, но он либо ничего не загружает в #message
, либо заполняет #message
с «/ message» (строка, а не содержимое).
Я хотел бы знать, что здесь происходит? Это что-то со стоечной вспышкой или правое.js? или что-то другое? При необходимости я могу предоставить больше кода, но на самом деле ничего больше, кроме базовой структуры, так как я только начинаю работу над этим проектом.