はじめに
Railsを勉強し始めた。
この前はNode.js + Expressをやってたり、無節操にいろいろGetting startedしまくってるような気がするけど、たぶん当分は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
サードパーティのコード。
おわりに
いまのとこ、以上!