|
|
|
leonsio13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.5.2012 Где: Saint-Petersburg / San Jose Репутация: нет Всего: нет |
Пользователь загружает картинку на сервер, задает параметры для обработки, жмет "Обработать" - эти параметры записываются в базу, другой процесс на сервере, который смотрит на базу, обнаруживает новый запрос и начинает его обрабатывать. Это я все реализовал
А вот как обновить контент страницы по завершению, причем под "обновить" я предполагаю" заменy кода <tr> <td>37.4902°N -122.149°W Comment: test 44</td> <td><img alt="processing..." src="/assets/inprogress.gif" /></td> </tr> на <tr> <td>37.4902°N -122.149°W Comment: test 44 </td> <td><a href="/users/1?request_id=220"><img alt="show result" class="round" src="/assets/done.png" /></a></td> </tr> ? Подскажите направление, в котором двигаться Это сообщение отредактировал(а) leonsio13 - 24.5.2012, 15:41 |
|||
|
||||
source777 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
Проще всего раз в несколько секунд из js дёргать контроллер, проверяющий выполнение фонового процесса, заодно он обычно показывает индикацию прогресса (на сколько процентов готово)
Добавлено через 2 минуты и 36 секунд Без индикации пользователи обычно не дожидаются выполнения долгой фоновой задачи. Поэтому если progress bar сделать по каким-то причинам нельзя, то по завершению процесса пользователю отправляют email со ссылкой на результаты. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
leonsio13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.5.2012 Где: Saint-Petersburg / San Jose Репутация: нет Всего: нет |
Спасибо... |
|||
|
||||
leonsio13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.5.2012 Где: Saint-Petersburg / San Jose Репутация: нет Всего: нет |
периодически дергаем контроллер из скрипта, контроллер может делать все, что нам надо, в частности, проверять завершение фоновой задачи, и отдавать данные во вьюху
файл app/assets/javascripts/checks.js.coffee setInterval( '$("#check_div").load( "time" )', 1000) файл app/controller/checks_controller.rb class ChecksController < ApplicationController def show render :text => Time.now.to_s if params[:id]=="time" end end файл app/views/checks/checks.html.erb <h1>current time</h1> <div id="check_div"> </div> Это сообщение отредактировал(а) leonsio13 - 28.5.2012, 09:49 |
|||
|
||||
Правила форума "Ruby on Rails" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby On Rails | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |