フォルダとファイルの役割って?
GUI開発環境もようやく整った。これで心置きなく使い方の勉強に集中できる。これからは中身がどんな仕組みなのか、じっくり見て行きたい。
scaffoldを実行すると、それだけでデータベースへのデータの追加、削除、表示が出来るようになってしまった。慣れてしまえば、作業としてはとっても簡単。しかし、それを実現するためのプロジェクトフォルダの中身を見てみると、とても複雑っぽい。
まずは、何がどんな役割なのか、調べてみた。
softwarebook2、プロジェクトフォルダの中身
app/ ......webアプリケーションのコード
- controllers/ ......コントローラ:webブラウザから入力を受付て、モデルを利用して処理し、結果を適切なビューへ渡す。
- application.rb
- softwares_controller.rb (scaffold生成)*1
- helpers/ ......機能を拡張するヘルパーモジュールを入れるらしい...。
- application_helper.rb
- softwares_helper.rb (scaffold生成)
- models/ ......モデル:データのチェックやデータベース等のアプリケーション外部とやり取りする。
- software.rb (scaffold生成)
- views/ ......ビュー:webブラウザへの描画、つまりHTMLコードを出力する。
- layouts/ ......共通するレイアウトを記述するrhtmlファイルを入れる。
- softwares.rhtml (scaffold生成)
- softwares/ ......コントローラで処理された結果を受けて、ページ固有の描画を行うrhtmlファイルを入れる。
- _form.rhtml (scaffold生成)......以下のrhtmlファイルから呼び出されて、部分的に共通の描画を行う。
- edit.rhtml (scaffold生成)......コントローラから呼び出されて、編集画面の描画を行う。
- list.rhtml (scaffold生成)......コントローラから呼び出されて、一覧表示の描画を行う。
- new.rhtml (scaffold生成)......コントローラから呼び出されて、新規登録の描画を行う。
- show.rhtml (scaffold生成)......コントローラから呼び出されて、個別表示の描画を行う。
- layouts/ ......共通するレイアウトを記述するrhtmlファイルを入れる。