DesignAssembler

備忘録に近い

config.ruについて

configディレクトリに入ろうとしてタブ補完する時凄く邪魔なconfig.ruについてです。

config.ruを見てみるとこのように書いてあります。

# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment', __FILE__)
run Rails.application

ここには、Rackで作られたサーバーを起動するのに使うと書かれています。

つまり、config.ruはRackのサーバ起動コマンドrackupの設定ファイルです。

railsではrails sの時に呼ばれます。

Rack

“RackはRubyのためのWebサーバインターフェイス”で、railssinatraなどのwebフレームワークの最下層にいます。つまり、Rubyで書かれたミドルウェアです。

Rackについては以下のサイトが非常に詳しく、分かりやすくまとまっています。 http://route477.net/d/?date=20080716

ないとどう困るか

rails sコマンドが通りません。

config.ruを消してrails sを叩くと以下のように怒られます。

$ rails s
=> Booting WEBrick
=> Rails 4.2.4 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
configuration /Users/ryouta/rails/configrutest/config.ru not found
Exiting

railsガイドにはrails sの代わりにrackupを使う方法が書いてあります。

railsguides.jp

参考

gihyo.jp

qiita.com