Ruby on Rails 3: Потоковая передача данных через Rails на клиент

Я работаю над приложением Ruby on Rails, которое взаимодействует с облачными файлами RackSpace (аналогично Amazon S3, но не имеет некоторых функций).

Из-за отсутствие доступности прав доступа для каждого объекта и аутентификации строки запроса, загрузка пользователей должна осуществляться через приложение.

В Rails 2.3 похоже, что вы можете динамически построить ответ следующим образом:

# Streams about 180 MB of generated data to the browser.
render :text => proc { |response, output|
  10_000_000.times do |i|
    output.write("This is line #{i}\n")
  end
}

(из http://api.rubyonrails.org/classes/ActionController/Base.html#M000464 )

Вместо 10_000_000.times ... Я мог бы сбросить мой код генерации потока в облачных файлах.

Проблема в том, что это вывод, который я получаю, когда пытаюсь использовать эту технику в Rails 3.

#

Похоже, что метод вызова объекта proc не вызывается? Любые другие идеи?

44
задан jkndrkn 17 August 2010 в 22:48
поделиться