0

Ruby onRails3.2.2とPaperclip2.7.0を使用しています。レコード/オブジェクトにファイル(私の場合は画像ファイル)が添付されているデータベースからデータを取得し、事前に並べ替えられた値のセットに基づいてそれらのオブジェクトを並べ替えたいと思います。つまり、image_file_name(Paperclip gemによって処理される)データベーステーブルの列とstatus(ステータスはpublished、、、)データベーステーブルの列があります。unpublishedblocked

  1. 返されるデータには、主に画像が関連付けられているレコード/オブジェクトが含まれます(おそらく、これはペーパークリップジェムを介して処理できます)。
  2. 手順1で取得したオブジェクトは、(重要度の順に)並べ替えられblockedunpublished次にpublishedステータスで並べ替えられます。

さらに、返されたオブジェクトが5未満の場合は、手順1と2で行った「フィルターと順序」を気にせずに、他のオブジェクトをそれらのオブジェクトに「追加」したいと思います。

どうすればそれを作ることができますか?

4

1 に答える 1

0

これはデータストアに依存します。たとえば、MySQLのフィールドの特定の値で並べ替える場合は、次のように実行できます。

Model.where('image_file_name is not null').order("field('status', 'blocked', 'unpublished', 'published')")
于 2012-05-18T03:49:35.640 に答える