| @@ -65,15 +65,20 @@ class PostsController < ApplicationController | |||||
| end | end | ||||
| sort_sql = | sort_sql = | ||||
| if order[0] == 'original_created_at' | |||||
| case order[0] | |||||
| when 'original_created_at' | |||||
| 'COALESCE(posts.original_created_before - INTERVAL 1 MINUTE,' + | 'COALESCE(posts.original_created_before - INTERVAL 1 MINUTE,' + | ||||
| 'posts.original_created_from,' + | 'posts.original_created_from,' + | ||||
| 'posts.created_at) ' + | |||||
| order[1] | |||||
| 'posts.created_at) ' | |||||
| when 'updated_at' | |||||
| 'posts.updated_at_all' | |||||
| else | else | ||||
| "posts.#{ order[0] } #{ order[1] }" | |||||
| "posts.#{ order[0] }" | |||||
| end | end | ||||
| posts = q.order(Arel.sql("#{ sort_sql }")).limit(limit).offset(offset).to_a | |||||
| posts = q.order(Arel.sql("#{ sort_sql } #{ order[1] }, id #{ order[1] }")) | |||||
| .limit(limit) | |||||
| .offset(offset) | |||||
| .to_a | |||||
| q = q.except(:select, :order) | q = q.except(:select, :order) | ||||