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 を継承する

リポジトリ

https://github.com/kkabetani/sample_app_rails_4