gpt4 book ai didi

ruby-on-rails - 直接从 Rails 操作中使用 Rack 中间件

转载 作者:行者123 更新时间:2023-12-04 07:40:35 24 4
gpt4 key购买 nike

我有一个 Rack 中间件,我想嵌入到我的 Rails 应用程序中。通过嵌入,我的意思是将它注入(inject)到我的应用程序的布局中,以便 <%= 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 Controller 呈现 [200, {}, some_io_object]类型 Rack 响应?或者,我可以使用能够呈现 Rails 布局的 Rack 中间件来做相反的事情吗?

我正在使用 Rails 3.0.9。

最佳答案

如果您想使用 Rails 中的 Rack 应用程序,您必须从路由器 (routes.rb) 安装它

AppName::Application.routes.draw do 
# Other routes

mount MyRackApp => "/pathToReachIt"

# root to: '...'
end

更多信息 here

关于ruby-on-rails - 直接从 Rails 操作中使用 Rack 中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com