Использование промежуточного программного обеспечения стойки непосредственно из действий Rails
У меня есть промежуточное программное обеспечение Rack, которое я хочу встроить в свое приложение Rails. Под внедрением я имею в виду внедрение его в макет моего приложения, чтобы <%= yield %>
содержит тело того, что возвращает приложение Rack.
Вот мое текущее решение:
def show
result = MyRackApp.new.call(request.env)
render :text => result[2].read, :status => result[0]
end
Это проблематично, так как result[2]
не всегда имеет стиль IO read
метод, это может быть Rack::File
например.
Итак, как мне сделать, чтобы контроллер Rails рендерил [200, {}, some_io_object]
Тип стойки ответ? В качестве альтернативы, могу ли я сделать это с помощью промежуточного программного обеспечения Rack, способного отображать макеты Rails?
Я использую Rails 3.0.9.
1 ответ
Если вы хотите использовать стоечное приложение от Rails, вы должны смонтировать его с вашего роутера (rout.rb)
AppName::Application.routes.draw do
# Other routes
mount MyRackApp => "/pathToReachIt"
# root to: '...'
end
Больше информации здесь