我有一个主题模型和一个帖子模型。一个Topic有很多Post,一个Post属于Topic。
我想index
根据每个主题的最新帖子显示主题页面。最近的最后一个帖子是针对一个主题的,它将更多地显示在顶部。我基本上希望模拟常规论坛所做的事情。如果您回复一个主题,该主题会在索引页面中上升。
因此,我需要根据每个主题的最后一篇文章的 *created_at* 以某种方式对主题进行排序。如何才能做到这一点?
主题控制器.rb
def index
@forum = Forum.find(params[:forum_id])
@topics = @forum.topics.find(:all, :order => "last_post_id DESC")
# last_post_id is a column of Topic that stores ID of the last post
end
post.rb
class Post < ActiveRecord::Base
belongs_to :topic
attr_accessible :content
end
主题.rb
class Topic < ActiveRecord::Base
has_many :posts, :dependent => :destroy
belongs_to :forum
accepts_nested_attributes_for :posts, :allow_destroy => true
attr_accessible :name, :last_post_id, :posts_attributes
end