5

大規模で複雑な SQL ステートメントをいくつか書いた後、Rails でより良い方法でそれを行うにはどうすればよいか、以前に尋ねました。ただし、「find_by_sql」を呼び出すと、それ以上条件をネストできなかったため、Arel を再度使用することになりました。

Questions.find_by_sql(HUGE_SQL).by_filter(:popular).order('created_at').limit(5)

私の目標は次のとおりです。

  • SQL を個別のファイルに整理する
  • これらの文字列 SQL を Arel オブジェクトに変換します
  • 「制限、注文、..」などの一般的な再利用可能な条件を使用して、この arel オブジェクトをネストします。

ありがとう

4

1 に答える 1

0

解決策は、魔法の scuttle.io を使用して複雑な SQL クエリを Arel に変換することです。次に、クエリの各部分に対して個別のメソッドを作成し、それらを組み合わせることができます。詳細については、このプレゼンテーションを参照してください。

于 2015-02-08T04:15:13.297 に答える