勉強履歴(と雑記)

プログラミング初心者のメモ書きです

Railsチュートリアル 第2章 メモ書き

最初に

自分がメモにまとめていたものを投稿していきます。

見栄えとか全く気にしてません。

後でもっとわかりやすくしたものに変える可能性もありますが、

とりあえず上げていきます。

 

本題

○scaffoldによるコード作成

MVCモデル

○REST

○継承

 

scaffold :大量の機能を自動生成

リソース:データモデル(userモデルとmicropostモデル)+webインターフェイス

Rails g scaffold userでusersリソースを作成

→index(ユーザー一覧),show(個別のユーザーページ),new(新規ユーザー),edit(ユーザー編集)などのビュー、コントローラ、アクションが作成される

※欠点:レイアウトもスタイルもない、ユーザーパスワードがない、画像を置けない、ログイン機構なし、セキュリティなし、フォローワー・フォロー中機能なし、まともなテストなし、中身がブラックボックス(理解が困難)

 

Mvcの挙動:

1)ブラウザ(/users)→railsサーバー

2)ルーターによってusersコントローラのアクションへ

3)アクション実行、usersモデルへ

4)usersモデル、データベースからデータを操作

5)usersモデルからデータをコントローラに

6)usersコントローラはデータをインスタンス変数に保存、ビューへ

7)ビューが開き、erbを実行、HTMLをレンダリング

8)コントローラはビューで生成されたHTML をブラウザに返す

 

HTTPリクエスト(RESTful):

get(ビューの表示:index,show,new,edit),

post(データベースの操作:create),

patch(データ更新:update),

delete(データ消去:destroy)

 

REST:

CRUD(Create/Read/Update/Delete)とリクエストの各メソッドを対応させた、ネットワークやアプリケーションを構築するためのスタイル。

 

バリデーション:

データベースに制限を加える方法。モデルに書く。

 

クラスの継承:

クラスは別のクラスを継承することで、継承したクラス中の定義やアクションをそのまま使用できる。

User(Micropost) > ApplicationRecord > ActiveRecord::Base

コントローラでも同様