学習内容
- Ruby on Rails
-max-length
オプション・・・inputタグを生成するヘルパーメソッド
-devise-parameter-sanitizer
メソッド・・・devise特有のパラメーターを取得するメソッド
-configure-permitted-parameters
・・・deviseでは新たに定義するメソッドをこの様に定義するが、本当は何でもいい。語尾にsがついているので注意
- リダイレクト・・・本来受け取ったパスとは別のパスに転送する。
-unless
・・・falseの時elseまたは、endまでの処理を行う。ifと反対
-merge
メソッド・・・ハッシュを結合させるメソッド
- アソシエーション・・・has_many
メソッドとbelongs_to
メソッドがある。モデルに記載する。
- N+1問題・・・引数に指定された関連モデルに一度のアクセスでまとめて情報を取得できる。
- ルーティングのネスト・・・モデルと結びついている別のモデルのid情報を含めることができる
苦労したこと
アソシエーションはモデルに、N+1問題はコントローラーに書くというのが自分の中で腑に落ちなかった。
↓
アソシエーション⇨モデル同士がお互いに情報を結びつけられる様にするものなのでモデルにかく。
includesメソッド⇨変数に値を入れるときなどに、複数モデルに何回もアクセスしないといけない。その問題を解決するために、Tweetモデルに情報取りに行くならUserモデルのやつもついでに全部取ってきてみたいな感じでコントローラーにかく。
↓
includesメソットをモデルに書かない理由としては、毎回TweetモデルいくときにUserモデル行かんでええで?問題が発生するから(多分違う)と考えている。