Другое очень простое решение - просто указать порядок для самой ассоциации.
class Post < ActiveRecord::Base
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :posts, :order => "created_at"
end
Все сообщения, полученные через ассоциацию, будут уже отсортированы. Это позволит вам сохранить детали заказа в самой модели и синтаксис SQL-кода вне контроллера.
@posts = Category.find(params[:id]).posts
Вернет вам ваши записи в порядке "create_at".