アウトプット10/27
<今日のカリキュラム>
・Rubyドリル
・バグ修正や仕様変更をしよう
<メソッド整理など>
・mapメソッド
オブジェクト.map { |変数|
# 実行したい処理
}
と記述。配列の要素の数だけブロック内の処理を繰り返し、その処理されたあとの配列を返す。配列に大して加工をするメソッド。
実装した機能に影響を与えずにコードを読みやすい状態にに改善すること。
・コメント
コメントは1文で記述する。逆に1文で記述できないコードは問題があると考える。
<分かっていなかったこと>
・whereメソッド
モデル.where(条件)と記述。条件を引数とすることでテーブルから条件に一致したレコードのインスタンスを配列の形で取得することができる。
<理解していないこと>
・「placeholder」は、文字をうっすら表示する時に利用
・送信ボタンの実装
・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メソッド
無限ループを作るメソッド。条件式が真である間は処理を繰り返す。
・DOM
ドキュメントオブジェクトモデルのこと。 HTMLを解析し、データを作成する仕組み。JavaScriptではHTMLを階層として捉えて変換したデータと捉え、そのHTMLの階層を取得し、操作することでプログラムを動かす言語。
・devise_parameter_sanitizerメソッド
deviseGem時に自分で新しく設定したカラムもストロングパラメーターに含めることが可能。application_controller.rbに記載する。
・ストロングパラメーター
指定したキーのみをもつパラメーターのみを受け取るように制限するもの。
javascriptからAjaxによるリクエストを送るためのオブジェクトのこと。
・renderメソッド
JSON形式でデータをサーバーから返却する際には、
render json:{ post: post}
とcreate定義に記載する。
・onload
XMLHttpRequestで定義されているプロパティで、レスポンスの受信が成功した場合に呼び出されるイベントハンドラーのこと。
<気付き>
発展カリキュラムが課題図書を除いて完了!平日で課題図書を読み終わって、4連休は自主アプリ作成に時間を使いたい。