Ruby on Rails チュートリアル メモ #1
Ruby on Rails チュートリアルをする中でメモしたこと
http://railstutorial-ja.herokuapp.com/?version=4.0#top
第2章
- scaffold コマンドの引数はリソース名の単数形(例:User)
- bundle exec rake db:migrate 未実行のマイグレーションファイルを実行
- rake db:migrateを実行
- schema_migrationsテーブルを調べ、存在しなければ作成
- db/migrateディレクトリ内のすべてのマイグレーションファイルを調べる
- データベースの現在のバージョンと異なるバージョンがあった場合、データベースに適応
- schema_migrationsテーブルの更新
- 現在の Gemfile に対応するバージョンの Rake が実行されるように bundle exec を付けて rake を実行する(技術的な理由により rails コマンドだけは例外)
- Rake = Ruby版make
- rake -T 実行可能なタスクすべて表示
- rake -T db データベースタスクを表示
- Http リクエストメソッドと URL でアクションが決まる
- REST においてリソース(Userなど)はRestHttp リクエストと DB の CRUD に対応している
Http request method | DB(CRUD) |
---|---|
POST | Create |
GET | Read |
PATCH | Update |
DELETE | Delete |
- 入力検査(validation)は model に書く
- validates :content, length: { maximum: 140 }
- モデル同士の1対多の関連付けの場合 has_many :モデル(複数), belongs :モデル(単数)をモデルに書く
- モデルは ActiveRecord::Base を継承する
- コントローラーは ApplicationController を継承する
- ApplicationController は ActionController::Base を継承する