我在我的 sinatra 应用程序中使用内联 haml 模板。我有一个@@layout
这样的部分:
#message
- if flash[:notice]
%section.notice= flash[:notice]
- if flash[:error]
%section.error= flash[:error]
当我使用flash[:notice]
=“你好!” 在一条路线中并单击一个链接,下一页在#message
div 中愉快地说“你好”。太棒了。
所以这就是问题所在,我正在使用 right.js 为我的应用程序添加一些 ajax 功能,rack-flash 的行为充其量是不一致的。
大多数时候,你点击一个.linkey
链接#content
( ...下次您单击链接时...大约 80% 的时间,其余时间什么也不显示。
这是我的js:
"a.linkey".onClick(function(event) {
event.stop();
$('content').load( [ "/", this.get('id'), ].join("") );
$('message').load( '/message' );
});
我想要的是这样的:
1) 点击链接
2)链接目标(/foo)被加载到#content
3)#message
重新加载消息(来自 route flash[:notice]
= "bar")
4)#content
现在显示/foo
& #message
显示“栏”
我也试过这个,$('message').load( '/message' );
但是要么什么都不加载,要么用“/message”(一个字符串而不是内容)#message
填充。#message
我想知道这里发生了什么?是 rack-flash 还是 right.js?或者是其他东西?如果需要,我可以提供更多代码,但实际上除了基本框架之外没有更多代码,因为我刚刚开始这个项目。