■Railsアプリの基本的なフォルダ構成
では、作成されたRailsプロジェクトのファイル・フォルダ類を見てみましょう。全部で相当な数のファイル・フォルダが作られるので、1つ1つすべてを説明することはできませんが、まずはおおざっぱに「このフォルダはこういうためのもの」といった役割分担ぐらいを頭に入れておくことにしましょう。
「app」フォルダ
作成するWebアプリの本体ともいえる部分です。ここに、Webアプリで使うさまざまなファイルを用意して開発を行います。Rails開発の基本は、このapp内に、必要に応じてファイルを作成していくことだ、といってもよいでしょう。
「config」フォルダ
Webアプリの各種設定を用意するところです。ほとんどの設定ファイルは自動生成されるので、プログラマがファイルを用意する必要はほとんどありません。ただし、必要に応じてファイルの設定内容を書き換えるということはよくあります。特にHerokuで利用する場合、Herokuで動くように設定を調整することになります。そうした際に、このフォルダ内のファイルを編集します。
「db」フォルダ
データベースに関連するファイルが用意されます。RailsではデフォルトでSQLiteを使うよう設定されますが、SQLiteのデータベースファイルはこのフォルダに作成されます。また「マイグレーション」といって、データベースを更新するための情報を記述したファイルなどもここに作成されます。ただし、これらはプログラマが自分でファイルを作成することはほとんどありません。Railsの機能により自動生成されるのがほとんどです。
「doc」フォルダ
ドキュメントを保管するフォルダです。とりあえず使いません。
「lib」フォルダ
ライブラリファイルを配置する場所です。デフォルトでは、フォルダだけでファイルはありません。
「log」フォルダ
ログが保存される場所です。特に開発時にローカル環境でアプリを実行する場合、何かエラーが起こればここに保存されているログを見て原因を調べることができます。
「public」フォルダ
公開フォルダです。エラーページやデフォルトで作られるトップページなどが配置されています。他、例えばスタイルシートなどのようにWebアプリで使われる静的なファイル類もここにまとめておくのが基本です。
「script」フォルダ
スクリプトファイルがおかれます。ここに、Railsのメインプログラムとも言える「rails」ファイルが置かれてます。Railsの開発で使われるrailsコマンドがこれです。これは一切、触らないでください。
「test」フォルダ
テスト用ファイルが保管されます。Railsでは、Webアプリを作成すると、それぞれの機能をチェックするためのユニットテストと呼ばれる昨日のためのプログラムが自動生成されます。それらがここに用意されます。
「tmp」フォルダ
テンポラリフォルダです。プログラムが一時的にデータを保存するのに用いられるところです。プログラマが何かをすることはありません。
「vendor」フォルダ
ベンダーがプラグインとして追加するプログラムなどを配置するところです。これも当面使うことはないでしょう。
Gemefile/Gemefile.lock/config.ru/Rakefile
RubyGemやrakeコマンドなどで使われるものです。ほとんど操作することはありませんが、Herokuでデプロイする場合、必要に応じて一部を編集することがあります。
――とりあえず、「app」フォルダと「config」フォルダの役割ぐらいがわかっていれば今は十分でしょう。その他のものは、編集する必要があればその都度説明をするつもりですので。
また、「app」フォルダの中には更にいくつものフォルダがあり、それぞれ重要な役割を果たしますが、これらは「MVC」というアーキテクチャーがわからないとよく理解出来ないものですので、今はあまり深く考えなくていいでしょう。実際にWebアプリの作成を進めていく段階で改めて説明します。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
記事のリストに戻る