Dmy*_*iak 4 ruby rack ruby-on-rails rails-engines
如果我有一个可安装的Rails引擎,那么将它作为独立应用程序(不属于任何其他应用程序的一部分)安装在某个端点的最小配置是什么?
这最好只是一个简单的Rack应用程序,以便我可以选择一个合适的Web服务器(独角兽,美洲狮等).
由于您没有给出想要使用的特定rails引擎,我将创建一个示例.
$ rails plugin new blorgh --mountable
$ cd blorgh
Run Code Online (Sandbox Code Playgroud)
现在,由于rails引擎是一个机架应用程序,可以独立运行.您只需添加一个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
Run Code Online (Sandbox Code Playgroud)
有了这个,你就可以独立运行你的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
Run Code Online (Sandbox Code Playgroud)
现在打开这个,转到localhost:9292.你会得到一个没有找到的404,因为这个引擎没有路由.但你可以轻松添加.
此外,这也可以部署到像Heroku这样的托管服务提供商.他们将检测config.ru文件和其他配置将自动发生.
如果这回答了你的问题,请告诉我.