2015-11-15 24 views
2

假设我有一个可安装的Rails引擎,将它作为独立应用程序(不是其他任何应用程序的一部分)安装到某个终端的最小配置是什么?Run Rails Engine standalone

这最好只是一个简单的机架应用程序,以便我可以选择一个合适的Web服务器(独角兽,美洲狮等)。

回答

5

既然你还没有给出你想要使用的特定的引擎引擎,我会创建一个样例。

$ rails plugin new blorgh --mountable 
$ cd blorgh 

现在,由于导轨引擎是机架应用程序&可以独立运行。你需要的是增加一个config.ru文件,内容如下:

# This file is used by Rack-based servers to start the application. 
require 'rubygems' 
require 'bundler' 
require 'rails' 
Bundler.require(:default) 
run Blorgh::Engine 

有了这个,你有可能没有任何额外的应用程序独立运行Rails的引擎。这里是如何运行这个

$ bundle exec rackup config.ru 
[2015-11-16 09:43:26] INFO WEBrick 1.3.1 
[2015-11-16 09:43:26] INFO ruby 2.2.3 (2015-08-18) [x86_64-darwin14] 
[2015-11-16 09:43:26] INFO WEBrick::HTTPServer#start: pid=38105 port=9292 

现在打开这个,goto localhost:9292。你会得到一个404没有找到这是有道理的,因为这个引擎没有路线。但你可以很容易地添加。

此外,这也可以部署到像Heroku这样的托管提供商。他们会检测到config.ru文件&其他配置将自动发生。

让我知道这是否回答你的问题。

+0

谢谢,看起来不错!除了'Blorgh'不能在特定的端点安装(?)。另外我对装载多个引擎感兴趣('Blogh'和'Flogh' :))。你介意更新答案来包含它吗? –