railsのディレクトリの意味【お気楽日本語訳】
railsコマンドを使って作ったアプリケーションディレクトリの中に、READMEファイルがあって、その中に自動生成されたディレクトリの意味について書いてありましたので、意訳というか一部ごまかしありの和訳をしてみました。
■app
この(railsコマンドで作成した)アプリケーション特有のコードは、全てここに収められます。
■app/controllers
自動URLマッピングされるようにweblogs_controller.rbのようにファイル名を付けたコントローラが収められます。全てのコントローラはApplicationControllerを継承(かなぁ?)をする必要があります。ちなみにApplicationControllerはActionController::Baseを継承しています。
■app/models
post.rbのようにファイル名を付けたモデルが収められます。
モデルはほとんどActiveRecord::Baseを継承します。
■app/views
weblogs/index.rhtmlのようにファイル名を付けたビュー機能としてのテンプレートファイルが収められます。weblogs/index.rhtmlは、WeblogsController#index用のファイルです。全てのビューファイルはeRubyシンタックスによって記述されます。
■app/views/layouts
ビューと一緒に使うレイアウト機能としてのテンプレートファイルが収められます。よく共通ヘッダやフッタで使われるビューのラッパーのことです。default.rhtmlというファイルを作成しておいて、ビューの中で、
layout : default
と宣言します。default.rhtmlの中で
<% yield %>
とするとこのレイアウトを使ったビューをレンダリングできます。
■app/helpers
weblogs_helper.rbのようにファイル名を付けたヘルパが収められます。コントローラを使うときにscript/generateコマンドを入力すると、自動的にヘルパが生成されます。ヘルパはビュー機能をメソッドにラッピングする際に使用されます。
■config
Rails環境、ルーティングマップ、データベース、その他いろいろなものの設定ファイルが収められます。
■components
コントローラ、モデル、ビューの中で使用できる、ほかのアプリケーションに依存しない小振りなアプリケーションが収められます。
■db
schema.dbに、データベーススキーマが記述してあります。db/migrateには、作成したスキーマを移行したヒストリが記述してあります。
■doc
rake doc:app
で生成された全てのアプリケーションドキュメントが収められます。
■lib
アプリによってことなるライブラリファイルが収められます。コントローラ、モデル、ヘルパのどれにも属さない独自のコードが収められることになります。このディレクトリはロードパスに含まれます。
■public
ウェブサーバから参照できるディレクトリです。画像、スタイルシート、javascript用のサブディレクトリが収められます。それから、ディスパッチャやディフォルトHTMLファイルも収められます。このディレクトリがウェブサーバのDOCUMENT_ROOTに設定されている必要があります。
■script
自動化や生成時に必要なヘルパスクリプトが収められています。
■test
ユニットテストや機能テストなどが収められます。script/generateコマンドを入力すると、このディレクトリにテストを行うためのファイルのテンプレートが生成されます。
■vendor
アプリケーションが依存する外部ライブラリが収められています。それからプラグインのサブティレクトリが収められています。このディレクトリはロードパスに含まれます。
いっぱいディレクトリがあるなあ。これをこれからひとつひとつ吟味する場面も出てくる、という訳ですね。
【広告】
■app
この(railsコマンドで作成した)アプリケーション特有のコードは、全てここに収められます。
■app/controllers
自動URLマッピングされるようにweblogs_controller.rbのようにファイル名を付けたコントローラが収められます。全てのコントローラはApplicationControllerを継承(かなぁ?)をする必要があります。ちなみにApplicationControllerはActionController::Baseを継承しています。
■app/models
post.rbのようにファイル名を付けたモデルが収められます。
モデルはほとんどActiveRecord::Baseを継承します。
■app/views
weblogs/index.rhtmlのようにファイル名を付けたビュー機能としてのテンプレートファイルが収められます。weblogs/index.rhtmlは、WeblogsController#index用のファイルです。全てのビューファイルはeRubyシンタックスによって記述されます。
■app/views/layouts
ビューと一緒に使うレイアウト機能としてのテンプレートファイルが収められます。よく共通ヘッダやフッタで使われるビューのラッパーのことです。default.rhtmlというファイルを作成しておいて、ビューの中で、
layout : default
と宣言します。default.rhtmlの中で
<% yield %>
とするとこのレイアウトを使ったビューをレンダリングできます。
■app/helpers
weblogs_helper.rbのようにファイル名を付けたヘルパが収められます。コントローラを使うときにscript/generateコマンドを入力すると、自動的にヘルパが生成されます。ヘルパはビュー機能をメソッドにラッピングする際に使用されます。
■config
Rails環境、ルーティングマップ、データベース、その他いろいろなものの設定ファイルが収められます。
■components
コントローラ、モデル、ビューの中で使用できる、ほかのアプリケーションに依存しない小振りなアプリケーションが収められます。
■db
schema.dbに、データベーススキーマが記述してあります。db/migrateには、作成したスキーマを移行したヒストリが記述してあります。
■doc
rake doc:app
で生成された全てのアプリケーションドキュメントが収められます。
■lib
アプリによってことなるライブラリファイルが収められます。コントローラ、モデル、ヘルパのどれにも属さない独自のコードが収められることになります。このディレクトリはロードパスに含まれます。
■public
ウェブサーバから参照できるディレクトリです。画像、スタイルシート、javascript用のサブディレクトリが収められます。それから、ディスパッチャやディフォルトHTMLファイルも収められます。このディレクトリがウェブサーバのDOCUMENT_ROOTに設定されている必要があります。
■script
自動化や生成時に必要なヘルパスクリプトが収められています。
■test
ユニットテストや機能テストなどが収められます。script/generateコマンドを入力すると、このディレクトリにテストを行うためのファイルのテンプレートが生成されます。
■vendor
アプリケーションが依存する外部ライブラリが収められています。それからプラグインのサブティレクトリが収められています。このディレクトリはロードパスに含まれます。
いっぱいディレクトリがあるなあ。これをこれからひとつひとつ吟味する場面も出てくる、という訳ですね。
【広告】