私はsinatraアプリでインラインhamlテンプレートを使用しています。私はflash[:notice]
=を使用する場合right.jsを使って、flash [:notice]の内容でdivを更新していますか?
#message
- if flash[:notice]
%section.notice= flash[:notice]
- if flash[:error]
%section.error= flash[:error]
:私はこのようなセクションで@@layout
を持っている「こんにちは!」経路内で&リンクをクリックすると、次のページはうれしく「こんにちは」と言います。 div。
ここに問題があります。私はright.jsを使用してアプリにいくつかのAjaxを追加しています。 'は、(この部分は同様に動作します)ラックフラッシュの最高の状態で矛盾している。
ほとんどの時間、あなたは#content
のdivにそれを&負荷をリンク(.linkey
)、JavaScriptのインターセプトの少しをクリックしてください#message 'divが再ロードされます&前のアクションのフラッシュが表示されます...次回リンクをクリックすると...時間の約80%、残りの時間は何も表示されません
"a.linkey".onClick(function(event) {
event.stop();
$('content').load([ "/", this.get('id'), ].join(""));
$('message').load('/message');
});
はこのようなものです::
1)リンクをクリックし
2)リンク先(/ fooという)#content
このは私のjsです
3)#message
にメッセージが再ロードされます(flash[:notice]
= "bar"から)
/foo
&
#message
ディスプレイ「バー」私も
$('message').load('/message');
でこれを試してみました
を表示
4)#content
はなく、そのロード#message
に何もどちらかが「/メッセージ」(文字列ではない内容)と#message
を満たしていません。
私はここで何が起こっているのか知りたいですか?それはラックフラッシュかright.jsで何かですか?または、他の何か?必要に応じてより多くのコードを提供することができますが、基本的なフレームワークをはるかに超えているわけではありません。