У меня есть промежуточное программное обеспечение Rack, которое я хочу встроить в мое приложение Rails. Под внедрением я подразумеваю внедрение его в макет моего приложения, чтобы <%= yield %>
содержал тело того, что возвращает приложение Rack.
Вот мое текущее решение:
def show
result = MyRackApp.new.call(request.env)
render :text => result[2].read, :status => result[0]
end
Это проблематично, так как result[2]
не всегда имеет метод read
в стиле IO, это может быть, например, Rack::File
.
Итак, как заставить контроллер Rails отображать ответ Rack типа [200, {}, some_io_object]
? В качестве альтернативы, могу ли я сделать это с помощью промежуточного программного обеспечения Rack, способного отображать макеты Rails?
Я использую Rails 3.0.9.