tnkzw.sake

HomeSeriesTagsAbout

Rails Tutorialで学べることメモ-第2章-

Series
Railsチュートリアル

Rails Tutorial を改めてしっかりやり直してのメモ第 2 章編

https://railstutorial.jp/chapters/toy_app?version=7.0https://railstutorial.jp/chapters/toy_app?version=7.0

主要コマンド

rails generate scaffold ModelName attr_name1:type attr_name2:type

scaffold コマンドはモデルを中心に controller, view などひと通りのファイルセットが自動生成される。

rails db:migrate

Rails アプリケーションで用いるデータベースをマイグレートする。
マイグレートってなんやねん、というのは使っているとわかるものの、この段階では最新に更新するという表現でいいような気がする。

rails console

コマンドラインから Rails アプリケーションを操作できる。
DB 上のデータ確認などもここから行える。

データの削除などを誤って行わないようにしたい場合は--sandboxオプションをつけると良い。

知識

MVC の挙動

Rails チュートリアルでは、Controller をハブにして解説される。

REST アーキテクチャ

REpresentational State Transfer の略。
Rails のモデル(実リソース)の CRUD 処理を HTTP のPOST, GET, PATCH, DELETEメソッドに対応させて扱うような構造を連想する程度の解説が行われている。

validation

データの検証を行う仕組み。DB に保存されるデータの整合性を保つことができる。
ApplicationRecordvalidatesメソッドを使うと非常に簡単にかける。

validates :content, length: { maximum: 140 }
validates :age, presence: true

https://railsguides.jp/active_record_validations.htmlhttps://railsguides.jp/active_record_validations.html

関連付け

モデル同士の関係性を記述する。
例えば、ブログのような記事を管理するアプリケーションでは User は Article を複数書くと想定されるので、次のように関連を記述できる。

class User < ApplicationRecord
  has_many :articles
end

class Article < ApplicationRecord
  belongs_to :user
end

この記述があることで、あるユーザーに紐づく記事を全件取得したい場合に

user = User.find(id)
user.articles

のように取得できる。

その他

  • 継承の階層

まとめ

db がサラッと登場し、relation、validation のようなデータの取り扱いが導入された。

REST アーキテクチャは参考にあった記事が非常に良かった。