我们为什么或在哪里应该在rails3中使用config.ru

时间:2013-02-05 12:31:35

标签: ruby-on-rails-3

我不明白为什么在rails3中配置config.ru文件。请解释为什么会这样?

1 个答案:

答案 0 :(得分:2)

rails server完成了创建Rack::Builder对象和启动Web服务器的基本工作。这是Rails相当于Rack的rackup脚本。

以下是rails server创建Rack::Builder

实例的方式
app = Rack::Builder.new {
  use Rails::Rack::LogTailer unless options[:detach]
  use Rails::Rack::Debugger if options[:debugger]
  use ActionDispatch::Static
  run ActionController::Dispatcher.new
}.to_app

要使用rackup而不是Rails的rails服务器,您可以将以下内容放在Rails应用程序根目录的config.ru内:

# Rails.root/config.ru
require "config/environment"

use Rails::Rack::LogTailer
use ActionDispatch::Static
run ActionController::Dispatcher.new

启动服务器:

$ rackup config.ru

要了解有关不同机架选项的更多信息,请执行以下操作:

$ rackup --help

要了解更多rakup,请查看Ruby on Rails guide