2.1がリリースされていました。2.1.0がお目見え。他のリリースノートを見ていくと、named_scopeという新機能。・・・こ、これは!さようならbuild_condition私の場合、これまでは検索条件は各コントローラでbuild_conditionというメソッドを用意し、そこで管理するという実装ポリシーでした。')endまぁ、複数条件を指定したい場合や、修正箇所を1か所にできるなどを考えて、美しくないと思いながらもこのような実装をしていました。このコードは例えば任意の価格未満の商品を探すといったものです。実際は10,000円未満の商品は?といった探し方、つまり価格帯で探すのが、世のオンラインショッピングにおけるUIパターンの基本です。10,000円未満の商品が欲しいこの要望をnamed_scopeによって実現します。Product.below_10000.order_defaultす、スマートすぎる・・・MVCアーキテクチャにおいて、知りあい関係をどう分担するかが肝となりますが、RailsにおけるModelはO/RマッピングにおけるEntityつまりDB上の1テーブルに対する実態とDAOの基本機能という存在でした。いった基本メソッドをもったところで、サービスの中心である「検索条件」という点についてはコントローラ側の役割と私は解釈していました。これでControllerの役割であるユーザ入力からModelへのデータ引き渡しという本来の姿により近くなることができました。Modelの役割が増えたと考えるか、DAOとしての機能がModelに収まるので分業化が楽と考えるかはMVCアーキテクチャに対する解釈によりけりでしょうね。実装側からすれば、より直観的な方法で実装できる分、嬉しいですね。Product.order_default.below_10000ここはLinqより頭いいです。追記:includeと:conditionsが併用できました。args.first]}}ほぼ完全にSQLをcontrollerに記述しなくてよいです。modelはDAOとvalidationがメインということで大分すっきりしました。(コガワ・マサヤ)⻘森県弘前市を拠点に、フリーランス・プログラマーとして様々な業種と関わりながらシステム開発を行う。情報設計、マーケティング、フロントエンド・バックエンド開発と職種を問わず、全プロセスを担当。立ち上げ、コンテンツ発信を行いながら飲食店コラボや農家のカフェ起業プロデュースなど、システム開発で得た知見を生かし多岐にわたって活動中。