I am using Ruby on Rails 3.2.2 and Paperclip 2.7.0. I would like to retrieve data from the database where records/objects have an attached file (in my case it is an image file) and order those objects based on a set of pre-ordered values. That is, I have image_file_name (handled by the Paperclip gem) and status (status can be published, unpublished, blocked) database table columns and I would like that:
- returned data contains primarily records/objects to which is associated an image (maybe this can be handled through the Paperclip gem);
- that objects retrieved at step #1 are sorted (in order of importance) by
blocked,unpublishedand thenpublishedstatuses;
More, if returned objects are less than 5, then I would like to “append” to those objects other objects but without caring “filters and ordering” as made in step #1 and #2.
How can I make that?
This is datastore-dependent. If you want to order by specific values of a field in MySQL, for example, you can do: