MVCを理解すると、SQL(または永続性に関連する)クエリはModel/Controllerオブジェクトでのみ実行する必要があります。したがって、Rails 3 documentation about Controllersは次のように述べています。Rails 3のビューではクエリが受け入れられますか?
[コントローラ]モデルデータをビューで使用できるようにして、そのデータをユーザーに表示できるようにします。
しかし、ドキュメントもqueries directly in View (HTML helper) codeの使用例があります。
のRails 3ではselect("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] })
# Note the model query -----^
、ビューでクエリを実行することが一般的に許容可能であるか、厳密にモデルにこのようなクエリを委任するために説得力のある理由がありますまたはコントローラオブジェクト?ドキュメンテーションは単なる実証的なものか、それともベストプラクティスの実例ですか?
ビューでは主に(排他的に?)ヘルパーは使用されていませんか?ヘルパーにクエリを置くと、ビューでクエリを実行するのと同じではありませんか? – maerics
私の見解は、それを直接ビューに置き、ドキュメントを正当化することを避けました。私は単純なデータを、多くの場合単一のテーブルから抽出するために使用します。アイテムのリストを含むコンボボックスを作成するヘルパーです。 –