Rails-Tutorial 2章の備忘録
本記事では第2章で気づいたことでの備忘録です。
1.gemとBundler
gemとはRubyで使われるライブラリやアプリケーションのパッケージと思っておくと良い。そして、必要なgem一覧を記述しているファイルがGemfileというもの。
Gemfileを作る上でのメリットは以下の3つがあるみたい。
Railsアプリを作成すると自動的にGemfileというファイルが作成されますが、それは
作成されたRailsアプリの動作に必要なGemパッケージ一覧を記述しておくファイルで、
このファイルがあるメリットが
- アプリの動作に必要なパッケージが明示的になる
- このファイルさえ再配布してしまえば、他の環境でも一度にインストールすることができる(バージョンも含めて同じものを)
- 同じパッケージでもバージョンの違いを区別して管理することができる
の三点だと認識しています。
Bundlerもgemの1種。gemは他のgemと依存関係を持つ場合があり、Bundlerはその依存関係を解消してくれる。もう少し砕いて言うと、Bundlerを用いてgemをインストールするとインストールしたgemに必要なgemもまとめてインストールしてくれる。そして、Bundlerを用いてGemfileに基づいてgemをインストールする際は、依存関係のある他にインストールしたgemがGemfile.lockに記載される。
2.RoutingErrorの対処法
プログラムを書き終わってherokuにあげようとした時に以下のようなエラーが出た。
ActionController::RoutingError (uninitialized constant UsersController):
どうやら「routes.rb」でルーティング先を「'users#index'」にすべきところを「'user#index'」にしていたみたい。
railsは割とsのつけるつけないがややこしいのでこれからは注意しておきたい。