2009-04-29 18 views
3

SQLクエリをどこに置くべきですか?私はすべての条件で検索メソッドを使用して、その後、コントローラにそれらを使用していfind_all_public_items:SQLクエリはどこに置くべきですか?

  • は、私は、例えばモデル内のメソッドを作成する必要があります。そのように私はすべてのクエリを1か所で持っていますが、すべてのクエリがニーズに合った適切な柔軟性を欠いています。

  • 私はちょうどコントローラでfind/find_by_sqlを使うべきですか?私は何千ものメソッドを作成していませんが、コントローラがデータベースからデータを吸い込む方法を制御していません。

答えて

6

モデルに入れてください。 named scopesも調べることをおすすめします。

+0

この名前付きスコープのメカニズムはかなりクールです。一日の必要性のための「where」節でヒントを与えたクエリを生成するための短くて甘いマクロです。ありがとう。 – Roboprog

+1

また、「thou shalt」と言っているのではなく、簡単にするために何かを指摘したことが好きです。(傷つけても意味があります) – Roboprog

+0

名前付きスコープは、 – cpm

8

モデルに関連するすべてをモデルに入れます。期間。

関連する問題