Как я могу остановить выполнение ответа js? - PullRequest
0 голосов
/ 03 апреля 2012

Я использую 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 div с помощью сообщения flash.Это прекрасно работает.Проблема в том, что это происходит даже из той формы, которую я хочу молчать.Я хотел бы изменить саму форму, чтобы игнорировать любой javascript в ответе.У меня проблемы с поиском чего-либо в руководствах по Rails или через Google.

1 Ответ

0 голосов
/ 05 апреля 2012

Вы также можете решить эту проблему с помощью js, установив переменную с именем caller, которая содержит значение формы вызова, после получения ответа ajax, проверяет, является ли вызывающая сторона form1, show message else return;

псевдокод:

var caller;

//In ajax response
if (caller==1) {
//show message
} else {
return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...