У меня есть вложенная форма (с использованием nested_form gem), на которой я вызываю remote: true.
= nested_form_for @shopping_list, :remote => true, :html => {:class => "shopping-list- form"} do |f|
Я связал это с действием create в контроллере, и функция успеха возвращает следующее из файла create.js.erb:
closeShoppingListForm();
$("#submit-success").delay(500).fadeIn(500);
$("#submit-success").delay(2000).fadeOut(500);
$.getScript(this.href);
return false;
Все работает гладко в Chrome - пока еще не протестировал Firefox. Ранее эта проблема была затронута Safari, но в прошлый раз это была функция, которая отсутствовала в закрытии ";" - не проблема с получением функции успеха из файла js.erb.
Это код из js файла для страницы для функции closeShoppingListForm - он делает то, что звучит, - закрывает кучу вещей:
function closeShoppingListForm() {
$("#shopping-list-form").hide();
$("#running-total").hide();
$("#total").hide();
$("#create-shopping-list").fadeIn(500);
$(".icon-remove").trigger("click");
$("#shopping_list_name").val('');
$("#total").html('');
inventoryItemsQuantities = new Array();
};
Быстро искал и смотрел на SO некоторое время - но сейчас настало время представить его и посмотреть, ударил ли кто-нибудь еще в этом. Любая помощь вообще приветствуется - большое спасибо за то, что вы посмотрели.
Дайте мне знать, нужны ли какие-либо другие фрагменты кода.
Благодарю!
Простое исправление... мы некоторое время смотрели на него, и это было просто слишком быстро и бросать "return false" после.getScript...
Возможно, это поможет кому-то еще не совершить ту же ошибку.
closeShoppingListForm();
$("#submit-success").delay(500).fadeIn(500);
$("#submit-success").delay(2000).fadeOut(500);
$.getScript(this.href);