如何检索具有附加文件的对象并根据一组预先排序的值对这些对象进行排序?
我正在使用Ruby on Rails 3.2.2和Paperclip 2.7.0。 我想从数据库中检索数据,其中记录/对象具有附加文件(在我的情况下,它是图像文件),并根据一组预先排序的值对这些对象进行排序。 也就是说,我有image_file_name
(由Paperclip gem处理)和status
(状态可以published
, unpublished
, blocked
)数据库表列,我希望如此:
- 返回的数据主要包含与图像相关联的记录/对象(也许这可以通过Paperclip gem处理);
- 在步骤#1中检索到的对象按
blocked
,unpublished
和随后published
状态排序(按重要性顺序排列);
更多,如果返回的对象小于5,那么我想“追加”那些对象的其他对象,但不关心步骤#1和#2中的“filter和排序”。
我该怎么做?
这是数据存储区相关的。 例如,如果要按MySQL中某个字段的特定值排序,可以执行以下操作:
Model.where('image_file_name is not null').order("field('status', 'blocked', 'unpublished', 'published')")
- 为什么ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near“)”:语法错误:INSERT INTO“user_friendships”()VALUES()
- ActiveRecord Association选择包含记录的计数
- 在Sidekiq作业结束之前释放ActiveRecord连接
- Ruby on Rails:为什么当我向DB写一个时间时,我会获得时区,然后再读回来?
- Rails:包含多态关联
- 具有多个联接的ActiveRecord查询无法识别关系
- 无法在Rails中加入自联接表
- 如何与许多父母建立许多自我指涉关系?
- 是否可以根据单个对象对方法的响应对对象列表进行排序?