Я работаю над приложением 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...
я мог бы сбросить туда свой код генерации потоков cloudfiles.
Проблема в том, что это вывод, который я получаю, когда пытаюсь использовать эту технику в Rails 3.
#<Proc:0x000000010989a6e8@/Users/jderiksen/lt/lt-uber/site/app/controllers/prospect_uploads_controller.rb:75>
Похоже, что метод call
объекта proc не вызывается? Любые другие идеи?