イヌケンの技術ブログ

私が学んだ技術について備忘録的に書いていきます。

Rails-Tutorial 2章の備忘録

本記事では第2章で気づいたことでの備忘録です。

1.gemとBundler

gemとはRubyで使われるライブラリやアプリケーションのパッケージと思っておくと良い。そして、必要なgem一覧を記述しているファイルがGemfileというもの。

Gemfileを作る上でのメリットは以下の3つがあるみたい。

Railsアプリを作成すると自動的にGemfileというファイルが作成されますが、それは
作成されたRailsアプリの動作に必要なGemパッケージ一覧を記述しておくファイルで、
このファイルがあるメリットが

  1. アプリの動作に必要なパッケージが明示的になる
  2. このファイルさえ再配布してしまえば、他の環境でも一度にインストールすることができる(バージョンも含めて同じものを)
  3. 同じパッケージでもバージョンの違いを区別して管理することができる

の三点だと認識しています。

 引用元

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のつけるつけないがややこしいのでこれからは注意しておきたい。