アウトプット10/13

<今日のカリキュラム>

正規表現

 

<メソッド整理など>

・subメソッド

 //で囲んだ文字を置き換える。

・gsubメソッド

 subメソッドでは最初に該当する文字のみ置き換えになってしまうが、gsubは全てを置き換える。

・matchメソッド

 //で囲んだ文字が含まれているかどうか。

・各種表現

[a-z] アルファベットの aからzまでのいずれか1つにマッチするかを確認

\d 数値を表す特殊文字

{n, m} 少なくともn回、多くともm回マッチする確認

i 大文字・小文字を区別せず検索する。

. 全ての英数字にもマッチする。

+ 直前の文字が1回以上繰り返す場合にはマッチする。

  .+ 何かしらの文字が1回以上繰り返すものにマッチする。

 

<分かっていなかったこと>

 

 

<理解していないこと>

・「placeholder」は、文字をうっすら表示する時に利用

・送信ボタンの実装

・requireメソッド params.require(:モデル名) # 取得したい情報を指定する

・permitメソッド 

・references型/外部キー制約

 中間テーブルのマイグレーションファイルに記述する。

 t.references :room, foreign_key: true
 t.references :user, foreign_key: true

・ルーティングのネスト

・mergeメソッド

・N+1問題

・fill_inメソッド

・have_selector,have_contentの違い

 指定したセレクタがあるかないかを判断するマッチャがhave_selector。have_contentは指定した文字列があるかどうかを判断するマッチャ。

・クラスメソッドとインスタンスメソッド

 クラスメソッドではインスタンス変数(@〇〇)が使えない。

 ・sliceメソッドとslice!メソッド

 array.slice(1) →配列の中から1番目の数値を取り出す。但し配列に影響はない。

 array.slice!(1) →配列の中から1番目の数値を取り出す。取り出した数値は配列から削除される。

・afterメソッド 

 任意の処理の後に指定の処理を実行するメソッド。テストコードでFactoryBot後に画像を保存するコードを作るときなどに使用する。

・requireメソッド

 ライブラリやクラスを読み込むための記述

 ・whileメソッド

 無限ループを作るメソッド。条件式が真である間は処理を繰り返す。

 

<気付き>

移動が多すぎて疲れた。1日1拠点までにしよう。