Railsで使用しているActiveRecordについて質問です。レコード取得の条件をリクエストパラメータの指定の有無によって動的に作成したいです。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらRailsで使用しているActiveRecordについて質問です。レコード取得の条件をリクエストパラメータの指定の有無によって動的に作成したいです。リクエストパラメータが2つあり、それを仮にparams[:a]とparams[:b]とします。params[:b]上記のように動的に条件を組み立てる実装方法を教えてください。▽最新の回答へ▽1●nuna●100ポイントモデルのクラス名をItemとします。簡便のためaもbも指定しなかった場合はすべて返すとします。実際には、必要に応じてパラメタのチェックなどしてください。params[:b])endRails3のActiveRecordでは条件を追加しながらSQLを組み立てていくことができます。params[:b])となり、これは以下と同じです。params[:b])のようにも書けます。Gaasuさんのコメント返信が遅くなり申し訳ありません。回答ありがとうございます。例どおりに実装してみましたが、エラーが発生してしまいました。#<Array:0xa2ca6dc>)どうやら、Item.allを評価した時点でクエリが実行され、遅延ロードされていないようです。試しに以下のようなコードで実行してみたところ、遅延ロードは正常に機能しました。params[:b])今のところ、allもしくはfindを評価するとその時点でクエリが実行されてしまうことが実際に動かしてみて分かりました。この理由は分かりますでしょうか?分かりましたらまた回答をお願い致します。nunaさんのコメントすみません。allはRails2.x以前からあるAPIで(仕様として)遅延評価しないので、私の書き方だとダメですね。試されたようにallは使わず書いてください。Gaasuさんのコメントコメントありがとうございます。allを使わない実装を考えてみます。単一テーブル継承についての質問です。□はてなトップ(C)株式会社はてな。