2012-04-03 3 views
0

私はRails3.1 + Jqueryを使用しています。私は同じコントローラに "更新"要求を提出する2つのフォームを持っています。 1つは、ユーザーにリクエストが成功したかどうかを知らせるアラートを表示することです。もう一方は静かでなければならない。私のコントローラコードは次のようになります:jsレスポンスの実行を停止するにはどうすればよいですか?

respond_to do |format| 
    if @user.update_attributes(params[:user]) 
     format.html { redirect_to @user, :notice => 'Settings were successfully updated.' } 
     format.json { head :ok } 
     format.js { flash[:notice] = 'Settings were successfully updated.' } 
... 

update.jsは、flashメッセージでフラッシュdivを更新します。それは素晴らしい作品です。問題は、これが私が黙っていたいという形から起こっていることです。私は応答内の任意のJavaScriptを無視するためにフォーム自体を変更したいと思います。私はRailsのガイドやGoogleで何かを見つけるのが難しいです。

答えて

0

jsを使ってこれを解決することもできます。callerがform1かどうかを確認するには、ajaxレスポンスチェック後に、呼び出し元フォームの値を保持するcallerという変数を設定します。

擬似コード:

var caller; 

//In ajax response 
if (caller==1) { 
//show message 
} else { 
return; 
} 
関連する問題