アウトプット10/8
<今日のカリキュラム>
・ModelによるDB操作を学ぼう
<メソッド整理など>
・ORM
RDBのデータをプログラミングにおいてオブジェクトとして使用出来るために変換する技術。
・SQL
RDBを使うための言語。DDL(定義)、DML(操作)、制御(DCL)の3分類に分けられる。
・SELECT文
データベースからデータを取得するSQLの文法(DML)。SELECT <取得したいデータ> FROM <テーブル名>;と記述。
・find_by_sql
Ruby on RailsでSQL文法を使うメソッド。以下のように記述する。
def index
query = "SELECT * FROM tweets"
@tweets = Tweet.find_by_sql(query)
end
<分かっていなかったこと>
<理解していないこと>
・「placeholder」は、文字をうっすら表示する時に利用
・送信ボタンの実装
・requireメソッド params.require(:モデル名) # 取得したい情報を指定する
・permitメソッド
・アソシエーション復習
has_many :モデル複数形
belongs_to : モデル単数
・references型/外部キー制約
中間テーブルのマイグレーションファイルに記述する。
t.references :room, foreign_key: true
t.references :user, foreign_key: true
・ルーティングのネスト
・mergeメソッド
・N+1問題
・テストコードの実装
binding.pry→インスタンス名.errors.full_messages
によってエラーコードを取得。その後に、
expect(インスタンス名.errors.full_messages). to include("エラー文")
・fill_inメソッド
・have_selector,have_contentの違い
指定したセレクタがあるかないかを判断するマッチャがhave_selector。have_contentは指定した文字列があるかどうかを判断するマッチャ。
・セレクタ
CSSによる装飾を、どの部分のHTMLに適用するかを決める貴記述のこと。通常classで名前付けされている。
・クラスメソッドとインスタンスメソッド
クラスメソッドではインスタンス変数(@〇〇)が使えない。
・sliceメソッドとslice!メソッド
array.slice(1) →配列の中から1番目の数値を取り出す。但し配列に影響はない。
array.slice!(1) →配列の中から1番目の数値を取り出す。取り出した数値は配列から削除される。
<気付き>
超疲れた。銭湯行こう。