2015-11-15 48 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' :))。你介意更新答案來包含它嗎? –