Rubyのincludeとは
こんにちは
今日はincludeメソッドについてです。
rubyにはinclude?メソッドやincludesメソッドもありますが、意味は異なります。
【include?()】
配列に引数で指定した要素が == で等しい要素を持つ時に真を返します。
【includes】
N+1問題を解消する為のメソッド。引数に指定された関連モデルを1度のアクセスでまとめて取得できます。書き方→includes(:紐付くモデル名)
*N+1問題とは、アソシエーションを利用した場合に限り、データベースへのアクセス回数が多くなってしまう問題。アプリケーションのパフォーマンス低下につながります。
【include】
moduleをクラスに含めるメソッド。moduleAをclassBにincludeすると、moduleAに含まれているメソッドをclassBのインスタンスが使えるようになります。
フォームオブジェクトパターンを使う時に【include】を使いました。一つのフォームから複数テーブルに保存する時ですね。
今回は以上となります。