アウトプット10/25

<今日のカリキュラム>

Rubyドリル

・アプリケーションの修正内容を把握しよう

・コードを整理しよう

 

<メソッド整理など>

・ls -aコマンド

 -aを加えると非表示になっているディレクトリなども見ることができる。

・Issue

 アプリケーションの課題をGithub上で管理するための機能のこと。課題の詳細やコードの変更履歴などの情報を一つに管理することで現状把握をやりやすくするために用いる。

リファクタリング

 コードの保守性向などを目的で、見た目は変えずに内部のコードを整理すること。

・each_with_indexメソッド

 ハッシュの中から要素番号も併せてを取り出せるメソッド。要素番号も引き出すので引数は2つになる。

 

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

 

 

<理解していないこと>

・「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に記載する。

・ストロングパラメーター

 指定したキーのみをもつパラメーターのみを受け取るように制限するもの。

・requireメソッド

 保存をする際はストロングパラメータで値の許可をする必要がある。ストロングパラメータで二重ハッシュの中身を保存したい場合には、requireとpermitメソッドを使う。 

・permitメソッド

 取得したいキーを指定するときに使う。
 params.require(:モデル名).permit(:キー名, :キー名)

 と記述。requireメソッドと組み合わせることで、対象のモデルから取得したいキーを指定することができる。

XMLHttpRequest

 javascriptからAjaxによるリクエストを送るためのオブジェクトのこと。

・renderメソッド

 JSON形式でデータをサーバーから返却する際には、

 render json:{ post: post}

 とcreate定義に記載する。

・onload

 XMLHttpRequestで定義されているプロパティで、レスポンスの受信が成功した場合に呼び出されるイベントハンドラーのこと。

 

<気付き>

週末は色々用事があったけど、予定通り学習を進めることができてよかった。

今週中に発展カリキュラムを終了して、一週間の復習兼個人アプリの実装の時間を作れるようがんばろう。