0

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

  1. 返回的数据主要包含与图像相关联的记录/对象(也许这可以通过 Paperclip gem 处理);
  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 回答