У меня две модели, пост и комментарий. Сообщения имеет много комментариев и комментариев принадлежит сообщениям.
То, что я пытаюсь сделать, - это иметь список постов, упорядоченных по дате создания, если в нем нет комментариев. Затем необходимо указать дату создания последнего комментария.
Теперь я знаю, что могу включить такие ассоциации:
Post.find(:all, :include => [:comments], :order => "comments.created_at DESC, posts.created_at DESC")
Но это упорядочит все сообщения с комментариями, а затем сообщения без комментариев. Я не хочу, чтобы они были заказаны отдельно, но вместе взятые.
Решение также должно быть совместимо с гемом paginate, таким как will_paginate.
Редактировать
Теперь он работает со следующим кодом:
posts_controller.rb
@posts = Post.order('updated_at DESC').page(params[:page]).per_page(10)
comments_controller.rb
@post = Post.find(params[:post_id])
@post.update_attributes!(:updated_at => Time.now)