アウトプット10/1
<今日のカリキュラム>
・rubyドリル
・chatappのメッセージ投稿機能実装
<メソッド整理など>
・collectionオプション
指定したインスタンス変数にある要素の分だけ部分テンプレートが繰り返し表示されるオプション。例えばmessagesを変数で定義してcollectionオプションを使うとmessageが表示されるという使い方。
・l(エル)メソッド
日付や時刻を表示するメソッド。
<分かっていなかったこと>
・mergeメソッド
・N+1問題
・render partial:
部分テンプレートの呼び出すときの記述。renderが部分テンプレートを呼び出すメソッドで、どの部分テンプレートを呼び出すかはpartial: "部分テンプレートの名前"で決める。collectionオプションと組み合わせる。
<理解していないこと>
・複層ハッシュからの特定データ取得方法
eachメソッドを使う
・論理演算子(重要!!)
# aもbもtrueの場合にtrue → a && b 及び
# aかbのどちらかがtrueの場合にtrue → a || b いずれか
# aがtrueの場合にfalse、aがfalseの場合にtrue → !a 逆
・ER図
DBのテーブルを図で表したもの。
・エンティティ
サービスで扱われるデータ自体のこと。データが登録されるときに発生する。
・「placeholder」は、文字をうっすら表示する時に利用
・送信ボタンの実装
・requireメソッド params.require(:モデル名) # 取得したい情報を指定する
・permitメソッド
・アソシエーション復習
has_many :モデル複数形
belongs_to : モデル単数
・references型/外部キー制約
中間テーブルのマイグレーションファイルに記述する。
t.references :room, foreign_key: true
t.references :user, foreign_key: true
・ルーティングのネスト
<気付き>
カリキュラムが進まない!今週末は旅行だから明日も頑張って月曜日までにはchatapp完成まで進めたい。