Хотите заказать по количеству постов, верно?
Я думаю, что проще, если вы используете :counter_cache
, потому что если вы это сделаете, вы можете заказать так:
class ForumTopic < ActiveRecord::Base
has_many :forum_posts
named_scope :by_number_of_posts, :order => "forum_posts_count"
end
# controller
ForumTopic.by_number_of_posts.all
Чтобы использовать :counter_cache
, вам нужно изменить ассоциацию
class ForumPost < ActiveRecord::Base
belongs_to :forum_topic, :counter_cache => true
end
и создайте столбец forum_posts_count
в таблице forum_topics
.
Я верю, что это так.