我有一个正在运行的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 时,我提出以下路线:
Rails.application.routes.draw do
...
mount MyBuilder.new => '/as2'
end
我收到以下错误:
uninitialized constant MyBuilder (NameError)
我应该如何(在哪里)正确注册MyBuilder
机架应用?
答案 0 :(得分:0)
我认为你唯一缺少的是要求你的Rack应用程序。
总而言之,我会:
require Rails.root.join('lib/my_builder')
添加到新的初始化程序mount MyBuilder, at: "/my_builder"