アクティブレコードパターンで実装されたORM(Railsに限らない)にはだいたい遅延ローディングとリフレクションを使ったダイナミッククエリ機能があると思います。
機能自体にはなんの不満もないのですが、ビューにモデルを渡すとどうしてもレンダリング中にクエリが発生しますよね。(DBのビューではなくHTMLを生成するテンプレート・ビューのことです)
関連レコードを取得するときや、子データの件数を表示するときに count() を使ったり。
DB接続できないなど例外的なケースを除いて、エラー処理がなければビュー内で使用することはあまり気にしていませんでした。
ただ、デバッグが面倒であったり、ビュー内でボトルネックができるなど弊害もまれにあります。
事前にデータをフェッチしておけば解決できることではありますが
そのために一時変数が増えたり、状態によっては画面に表示されないデータまで取得しておく必要があったりもするのでこちらもあまり気持ちの良いものではありません。
どちらもそれほど大きな問題になるようなことではありませんが、何か指針を決めて実装している方がいれば教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。