我正在使用Rails3.1 + Jquery。我有两种形式将“更新”请求提交给同一个控制器。首先,我想向用户显示警告,告诉他们请求是否成功。另一个应该是安静的。我的控制器代码如下所示:
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消息更新flash div。这很好用。问题是,即使从我想要保持沉默的形式发生这种情况。我想修改表单本身以忽略响应中的任何javascript。我无法在Rails指南或Google中找到任何内容。
答案 0 :(得分:0)
你也可以使用js解决这个问题,设置一个名为caller的变量,它保存调用表单的值,在获取ajax响应后检查调用者是否为form1 show message,否则返回;
伪代码:
var caller;
//In ajax response
if (caller==1) {
//show message
} else {
return;
}