我不明白为什么在rails3中配置config.ru文件。请解释为什么会这样?
答案 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