Ruby on Railsを基礎から学ぶ 第1回
〜railsのフォルダ構成を覚えよう!〜
railsアプリの起こし方については、こちらで述べましたが、ここではそのgenerateコマンドを打った際にできたフォルダ構成のうち、現時点で必要なものを、いくつかかいつまんで、お話していきます。
※用意されているファイルは思いのほか多いので、理解しながら少しずつコンテンツもつなげたと思います。
1.まずはアプリフォルダを見てみよう
下の画面が、dragonアプリのフォルダ構成です。
Dragonは私がつけた名前で、これはgenerateコマンドで、コントローラを作る際に作成者が任意に決められます。
■現在見ているディレクトリ(濃紺枠内)
Windowsの場合、C\rails\xxxx
Macの場合 ホームフォルダ直下にrails/xxxx
(xxxxのところにアプリ名を入れます。)
※ 上の例では、アプリ名はdragonになります。
蛇足)これは、カンタンなRPG戦闘風アプリにしていきたいので、こう名づけてます。
■とりあえず覚えておくフォルダ(赤枠内)
Appフォルダ
実際に作っていくアプリを格納していくエリアです。
詳細は、下の項でまた説明します。
Configフォルダ
Route.rbが存在するフォルダです。
このファイルは、dragonアプリにアクセスした場合、どの画面を表示させるかの道筋(route)を判断する重要なファイルで、よく編集します。
詳しくは、次の回で説明します。
また、database.ymlというデータベースの接続設定などを記述してあるファイルがあります。
これも重要で、次の章(モデルについて)で説明します。
dbフォルダ
データベース作成に必要菜マイグレーションファイルやシードファイルなどを格納します。
特にmigrateフォルダの下のファイルはマイグレーションに使用されます。場所を覚えておきましょう。
これも次の章で説明します。
docフォルダ
作成されたrailsアプリのドキュメントを置く場所です。
このサイトではたぶん説明しないと思います。
libフォルダ
このアプリで使用する個別のモジュールなどを格納するフォルダかと思います。
もう少し話が進んできたら説明していきます。
logフォルダ
ログを格納するフォルダ。
現在は、devlopログしか使用しません。ん。
■重要なファイル(緑枠内)
dragon直下に重要なファイルが2つあります。
Gemfile
Railsのアプリケーションでは、gemパッケージと呼ばれるライブラリをいくつか取り込んで作成します。
何のパッケージを使うかは、アプリの目的によってさまざまですが、初回bundle時にどのようなgemパッケージがbundleされたか確認しておきましょう。
Gemfile_lock
上記のgemfileをもとに、格納したパッケージのバージョンが表示されます。
Rakefile
Rakeファイルは、Railsのファイル依存関係などビルドするのに必要な情報が書かれています。
現在はすっきりした状態で、これも後々細かく振れていくことにします。
※C言語をやっていた方には、makefileと説明すると非常にわかりやすいです。
README.txt
諸情報が英語で書かれています。
気にするファイルではありません。
2.Appフォルダ下の重要なフォルダ
上述のとおり、appフォルダはとても重要です。
このうち、MVC構成のCとVを説明します。
@controllerフォルダ
コントローラは、データベースから加工されたモデル(表とかリスト)を選択し、それに合う雛形(ビュー)を選んで、見せたい形にする命令の集合体のようなものです。音楽で言えば指揮者のような存在です。
下の図に、top_controller.rbというファイルがありますが、これが、dragonアプリのトップページを作成するのに必要な命令が書き込まれているのです。
同様に、lesson_controller.rbも同じです。
※lessonのコントローラは、次の回で説明していきます。
Aviewsフォルダ
Appのところで、説明したように、viewsには、雛形が入っています。
Railsで使用する雛形のHTMLファイルは。Xxxx.html.erbという名前で作ります。
中身をテキストなどで開くと、普通にHTMLファイルのようになっていると思います。
ほかにaboutも雛形があります。
これも次の回に説明していきましょう。
3.Configフォルダ下を見てみよう
最後に、configです。
こちらで重要なのは2つ。
・ routes.rb トップページにアクセスした場合に何をさせるかの重要なファイル
・ database.yml 使用するデータべーす名、ポートなどDBの重要な設定ファイル
とりあえず、こんなところです。
まずは、RailsのMVC構成のうち、
C(controller:実行ファイル)、
V(views:見映えのHTMなどの雛形)
を理解していきましょう。
このフォルダ構成の回もまた理解度が進んできたら、広げていくつもりです。。
次回は、新しいコントローラ作りとそのアクションについて紹介します。
20130518
マイグレーションについて、追記。近々モデルについても追記します。
■ 参考テキスト■
サ改定新版 基礎 Ruby on Rails オイアクス監修 インプレスジャパン
Raccoon's homepage Copyright
(C) 2000-2013 あらいベアー