0

モデルの 1 つで次のデフォルト スコープが定義されています

default_scope order("IF(format = #{FORMATS[:wide]}, 1, 0) DESC, created_at DESC, name ASC")

MySQL を実行している開発マシンでは問題なく動作しましたが、postgres を使用する本番環境にデプロイすると失敗しました。ストレート SQL の代わりに Arel を使用してそれを記述する方法はありますか? FORMATS[:wide]整数を返しますが、特定の順序ではない場合があります。formatその特定のレコードが最初に返されるようにしたいだけです。

4

1 に答える 1

0

私はそれをSQLにはまったく入れません。おそらく、各フォーマットタイプのスコープを作成してから、Rubyを使用してどちらを使用するかを決定します。または、並べ替え順序を決定し、それを使用している場所に渡すメソッドを作成します。

于 2011-07-22T11:23:26.617 に答える