Ruby on Rails: несколько раз обновить страницу в контроллере - PullRequest
0 голосов
/ 14 сентября 2010

Итак, у меня довольно длинная функция контроллера, которая выполняет различные задачи, и это занимает около 10-15 секунд. Я хочу, чтобы иметь возможность информировать пользователя о состоянии функции по мере ее продвижения (индикатор выполнения). В идеале функция вызывается как Ajax-запрос и затем обновляет страницу по мере ее продвижения. Это будет работать, за исключением того, что вы можете обновить страницу только один раз за действие. Есть идеи? Спасибо.

Это то, что я хочу сделать в коде:

def long_function
 updatePage "Starting long_function"
 #some code which take 5 seconds"
 updatePage "Finished with first part"
 #some more code which takes a while
 updatePage "Finished second part"
 #last code part
 updatePage "Finished!"
end

1 Ответ

3 голосов
/ 14 сентября 2010

может быть что-то вроде этого: вызвать фоновое задание и дать ему идентификатор, который вы возвращаете.Фоновая задача может записывать сообщения в базу данных, помеченную этим идентификатором, и у вас может быть другое действие, которое позволяет вам long-poll для сообщений и таким образом обновлять пользователя.Тогда последним сообщением будет ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...