ER図
Entity-Relationship Diagramの略でテーブル同士の関係を視覚的にわかりやすく表した図
バリデーション
空のツイート投稿ができないようにバリデーションの設定
rails routesコマンドを実行
Prefix 「Prefix」はルーティングの名前を表しています。「Prefix」は設定を行わなくても、自動的に割り当てられますが、自ら設定することもできます。
Verb 「Verb」はHTTPメソッドを表しています。右側に表示されているパスにどのHTTPメソッドでアクセスするかを示しています。
URI Pattern 「URI Pattern」はルーティングのパスを表しています。このパスにアクセスされた際に、指定のコントローラーとアクションで処理が行われます。
Controller#Action 「Controller#Action」は指定したパスにアクセスした際に処理が行われるコントローラーとアクションを表しています。#以前がコントローラー名、#以後がアクション名を示しています。
HTTPリクエストのメソッド
GET | サーバーからブラウザに情報を返す。単にウェブサイトを閲覧する際にはこのメソッドが利用されている。 |
---|---|
POST | ブラウザからサーバーに情報を送信し、サーバーに情報を保存する。情報の登録などの際に、サーバーに情報を送信するために利用される。 |
DELETE | ブラウザからサーバーに情報を送信し、サーバーの情報を削除する。アカウントの削除などの際に、サーバー内のデータを削除するために利用される。 |
PATCH | ブラウザからサーバーに情報を送信し、サーバー内の情報を置き換える。登録情報の更新などの際に、サーバー内のデータを更新するために利用される。 |
Railsのリソースの7つのアクション | 役割 |
---|---|
index | リソースの一覧を表示する。 |
new | リソースを追加する。 |
create | リソースを追加し、作成する。 |
edit | リソースを更新するためのフォームを表示する。 |
update | リソースを更新する。 |
destroy | リソースを削除する。 |
show | リソースの内容を表示する。 |
before_action
あるコントローラのすべてのアクションで実行の前に共通の処理を行いたいときに、before_actionを使用すると全てのアクションが実行される前に指定したメソッドを呼び出すことができるようになります
before_actionを利用して、edit、showの2つのアクションに対して、set_tweetというメソッド名をつけて定義
ヘルパーメソッド
主にviewでHTMLタグを出現させたりテキストを加工するために予めメソッドが用意されてる。これらをまとめて、ヘルパーメソッド。HTMLやRubyの記述がセットになった、ビューファイルで使用できるメソッド
- 複雑なアプリケーションにおいては、ヘルパーメソッドを使用するとコードがシンプルになる
- 特にフォームにおいては、ヘルパーメソッドを使用しないとセキュリティ上の問題が発生する
ストロングパラメーター
指定したキーを持つパラメーターのみを受け取るようにするもの
プライベートメソッド
クラス外から呼び出すことのできないメソッド
ストロングパラメーターを記述したメソッドは、private以下に記載して、プライベートメソッドとして扱う
N+1 問題
SQLがたくさん発行されて動作が重くなること
モデルを利用してデータベースにアクセスをする際にSQLが発行されます。
アソシエーションの利用して、子モデルのインスタンスを複数取得する際には、N+1問題があることを考慮しましょう。
includesメソッドなど使用することでN+1問題を解消することができます。
アソシエーション
モデル間を紐付けること
has_many メソッド
モデルとの間に「1対多」のつながりがあることを示す
belongs_to メソッド
モデルとの間に「1対1」のつながりがあることを示す