gpt4 book ai didi

ruby-on-rails - 如何将独立的 Rack 应用程序安装到 Ruby On Rails 应用程序中?

转载 作者:数据小太阳 更新时间:2023-10-29 08:11:03 24 4
gpt4 key购买 nike

我有一个正在运行的 Rails 应用程序。然后,我有一个小脚本,我想将其安装到 Rails 应用程序 - 这是 script :

require 'as2'
require 'rack'

As2.configure do |conf|
...
end

handler = As2::Server.new do |filename, body|
...
end

MyBuilder = Rack::Builder.new do
use Rack::CommonLogger
map '/as2' do
run handler
end
end

puts "As2 version: #{As2::VERSION}"

我正在研究如何将 Rack 应用程序安装到 Rails 应用程序,我应该这样做:

MyRailsApp::Application.routes.draw do
mount MySinatraApp.new => '/api'
end

但是,我苦恼的是 - Rack 应用程序的标识符 (ID) 是什么?如何设置以及如何连接这两个应用程序并将它们成功安装在一起?

提前谢谢你。

编辑: 当我将文件(我在上面发布的片段)放置到 /lib 文件夹时 - 文件名 as2_server.rb 并在 route 添加以下内容:

Rails.application.routes.draw do
...
mount MyBuilder.new => '/as2'
end

我收到以下错误:

uninitialized constant MyBuilder (NameError)

我应该如何(在何处)正确注册 MyBuilder Rack 应用程序?

最佳答案

我认为您唯一缺少的是需要您的 Rack 应用程序。

所以,总结一下,我会:

  • 将你的脚本放入 lib/my_builder.rb
  • 创建 config/initializers/my_builder.rb
  • require Rails.root.join('lib/my_builder') 添加到新的初始化程序
  • mount MyBuilder 挂载,位于:config/routes.rb 中的“/my_builder”

关于ruby-on-rails - 如何将独立的 Rack 应用程序安装到 Ruby On Rails 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48733512/

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