如何检索具有附加文件的对象并根据一组预先排序的值对这些对象进行排序?

我正在使用Ruby on Rails 3.2.2和Paperclip 2.7.0。 我想从数据库中检索数据,其中记录/对象具有附加文件(在我的情况下,它是图像文件),并根据一组预先排序的值对这些对象进行排序。 也就是说,我有image_file_name (由Paperclip gem处理)和status (状态可以publishedunpublishedblocked )数据库表列,我希望如此:

  1. 返回的数据主要包含与图像相关联的记录/对象(也许这可以通过Paperclip gem处理);
  2. 在步骤#1中检索到的对象按blockedunpublished和随后published状态排序(按重要性顺序排列);

更多,如果返回的对象小于5,那么我想“追加”那些对象的其他对象,但不关心步骤#1和#2中的“filter和排序”。

我该怎么做?

这是数据存储区相关的。 例如,如果要按MySQL中某个字段的特定值排序,可以执行以下操作:

 Model.where('image_file_name is not null').order("field('status', 'blocked', 'unpublished', 'published')")