【发布时间】:2018-07-21 20:35:19
【问题描述】:
我有一个正在运行的 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) 是什么?如何设置以及如何连接这两个应用并成功将它们挂载在一起?
提前谢谢你。
编辑:当我将文件(我在上面发布的 sn-p)放置到 /lib 文件夹时 - 文件名 as2_server.rb 并我放的路线如下:
Rails.application.routes.draw do
...
mount MyBuilder.new => '/as2'
end
我收到以下错误:
uninitialized constant MyBuilder (NameError)
我应该如何(在哪里)正确注册MyBuilder rack 应用程序?
【问题讨论】:
标签: ruby-on-rails ruby routes rack mount