アウトプット10/24
<今日のカリキュラム>
・Rubyドリル
・herokuを使った公開
・ユーザー認証の導入
<メソッド整理など>
・rails_12factor
Heroku用に静的アセットファイルやログの保存先をheroku用に微調整してくれるGem
・ClearDBアドオン
HerokuでMYSQLを使うためのツール。
・環境変数
そのディレクトリ・ファイルからでも参照できる変数のこと。heroku configコマンドによって設定する。
・heroku run
Heroku上で実行したいコマンドをに使う。 rails db:migrateであれば heroku run rails db:migrateと実行する。
・heroku apps:info
Herokuにデプロイされたアプリケーションの情報を見ることができる。
・heroku logsコマンド
heroku上でアプリケーションが稼働したログを表示するためのコマンド。--tailオプションを併用する。
・--tailsオプション
ログの最後の10行を表示するためのコマンド。
・環境変数だけ設定したい場合には、空のコミットを生成してプッシュする。
HTTP通信の規格に備え付けられているユーザー認証の仕組み。applicationコントラーにauthenticate_or_request_with_http_basicメソッドを記載することで実装する。環境変数を利用する実装がセキュリティ上必要。
・authenticate_or_request_with_http_basicメソッド
authenticate_or_request_with_http_basic do |username, password|
username == 'admin' && password == 'password'
end
<分かっていなかったこと>
<理解していないこと>
・「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メソッドと組み合わせることで、対象のモデルから取得したいキーを指定することができる。
javascriptからAjaxによるリクエストを送るためのオブジェクトのこと。
・renderメソッド
JSON形式でデータをサーバーから返却する際には、
render json:{ post: post}
とcreate定義に記載する。
・onload
XMLHttpRequestで定義されているプロパティで、レスポンスの受信が成功した場合に呼び出されるイベントハンドラーのこと。
<気付き>
iphone12proを買ったので有効に使いたい!