У меня есть веб-приложение, которое позволяет пользователям редактировать данные модели через всплывающее окно. Когда форма всплывающего окна заполнена, пользователь нажимает кнопку «Сохранить», окно закрывается, и исходная страница перезагружается, чтобы показать все обновления, произошедшие с данными.
Моя техника работает только иногда. Я не могу понять, почему это работает один раз, а почему нет.
В форме моего всплывающего окна у меня есть метод отправки:
<%= submit_tag("Update Invoice", {:onclick=>"refreshParent()"}) %>
Таким образом, Javascript идеально выполняется одновременно с отправкой формы контроллеру. Вот функция Javascript refreshParent ():
function refreshParent(id) {
window.opener.location.reload();
window.close();
}
Теперь, метод, вызываемый моей формой (в данном случае «update»), не имеет вызова метода redirect_to, но даже когда я делаю (скажем, в исходном представлении, индекс), это не имеет значения .
В root кажется, что мой метод контроллера не запускается при отправке формы. Иногда. Я могу отправить одни и те же данные формы несколько раз, и это будет работать в третий раз. Или иногда это работает сразу. Это совершенно случайно.
Что я могу сделать, чтобы мои методы контроллера срабатывали при закрытии всплывающего окна?
Спасибо,
Аарон.