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

时间:2012-05-18 03:34:51

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord paperclip

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

  1. 返回的数据包含主要记录/对象与图像相关联(可能这可以通过Paperclip gem处理);
  2. 在步骤#1中检索到的对象按blockedunpublishedpublished状态排序(按重要性的顺序排序);
  3. 更多,如果返回的对象小于5,那么我想“追加”那些对象的其他对象,但不要像在步骤#1和#2中那样关注“过滤器和排序”。

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

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

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