Ruby on RailsをGetting Startedしてる
はじめに
Railsを勉強し始めた。
この前はNode.js + Expressをやってたり、無節操にいろいろGetting startedしまくってるような気がするけど、たぶん当分はRailsに集中することになる。
この本で勉強してて、いま4章の「ビュー開発」の章を読んでる。
Ruby on Rails 4 アプリケーションプログラミング
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2014/04/11
- メディア: 大型本
- この商品を含むブログ (3件) を見る
Expressと違ってフルスタックだからか、Railsの設計思想であるCoCのせいか、覚えることが多くてしんどい。でもある程度覚えれば、簡単なアプリならすぐに作れそうな気がする。
当分の間このブログは、Railsについて学んだことの自分の頭の整理用まとめになると思う。
とりあえず今日はRailsのデフォルトのディレクトリ構成でもまとめておく。
Railsのディレクトリ構成
Railsのバージョンは以下の通り。
$ rails -v Rails 4.2.1
(本に合わせて4.0.2を入れたはずだったんだけど、どのタイミングで上がったんだろう…)
新しいプロジェクトの作成は次のようにする。
$ rails new sample create create README.rdoc create Rakefile create config.ru create .gitignore ... 省略
これでSampleアプリの雛形が作成された。
ディレクトリ構成は以下のようになっている。express-generatorで作るexpressの雛形よりだいぶボリュームが多い。
$ cd sample/ $ tree . ├── Gemfile ├── Gemfile.lock ├── README.rdoc ├── Rakefile ├── app │ ├── assets │ │ ├── images │ │ ├── javascripts │ │ │ └── application.js │ │ └── stylesheets │ │ └── application.css │ ├── controllers │ │ ├── application_controller.rb │ │ └── concerns │ ├── helpers │ │ └── application_helper.rb │ ├── mailers │ ├── models │ │ └── concerns │ └── views │ └── layouts │ └── application.html.erb ├── bin │ ├── bundle │ ├── rails │ ├── rake │ ├── setup │ └── spring ├── config │ ├── application.rb │ ├── boot.rb │ ├── database.yml │ ├── environment.rb │ ├── environments │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers │ │ ├── assets.rb │ │ ├── backtrace_silencers.rb │ │ ├── cookies_serializer.rb │ │ ├── filter_parameter_logging.rb │ │ ├── inflections.rb │ │ ├── mime_types.rb │ │ ├── session_store.rb │ │ └── wrap_parameters.rb │ ├── locales │ │ └── en.yml │ ├── routes.rb │ └── secrets.yml ├── config.ru ├── db │ └── seeds.rb ├── lib │ ├── assets │ └── tasks ├── log ├── public │ ├── 404.html │ ├── 422.html │ ├── 500.html │ ├── favicon.ico │ └── robots.txt ├── test │ ├── controllers │ ├── fixtures │ ├── helpers │ ├── integration │ ├── mailers │ ├── models │ └── test_helper.rb ├── tmp │ └── cache │ └── assets └── vendor └── assets ├── javascripts └── stylesheets 38 directories, 40 files
app
開発のメインとなるディレクトリ。M,V,Cそれぞれのディレクトリに加え、アセットやヘルパーのディレクトリがある。
bin
いろいろな実行スクリプト置き場。
config
ルーティングの設定とか、いろいろな設定スクリプト置き場。
environments以下は、それぞれの環境(development, production, test)ごとの設定ファイルになっている。
アプリ起動時にinitializers以下のスクリプトが実行される。
アプリ全体から参照したい設定情報などがあれば、configディレクトリ以下に設定情報を記載したmy_config.ymlとかを置き、initializersの下に置いたmy_config.rbなんかから起動時に読み込んで定数へ設定すればよい。
db
その名の通りDB関連のディレクトリ。schemaとかマイグレーションファイルとかが置かれる。
lib
自作のライブラリとかを置く場所らしい。
log
ログ置き場。
public
公開ディレクトリ。
test
テストコードやテスト周りのスクリプト。
temp
一時ファイル。
vendor
サードパーティのコード。
おわりに
いまのとこ、以上!