如何获取用户在主题中创建的最后一条评论的日期

时间:2015-12-03 18:44:10

标签: ruby-on-rails

我有一个主题模型,评论模型和用户模型。他们每个人都有相互联系。我想查看uniq主题中评论的最后一条评论的日期。我认为这样的东西会起作用,但它只显示用户创建的最后一条评论而不是每个主题。

  = topic.user.comments.last.created_at.strftime("%b, %d, %Y")

  %table.table
            %thead
                %tr
                    %th Topic
                    %th Users
                    %th Replies
                    %th Activity
            - @topics.each do |topic|
                %tbody
                    %tr
                        %td{:width => "800"}
                            = link_to topic.title, topic_path(topic)
                        %td{:width => "200"}
                            .users-image
                                - topic.comments.uniq(&:user_id).each do |comment|
                                    = image_tag(comment.user.avatar.url(:thumb))
                        %td{:width => "80"}
                            .comments
                                = topic.comments.count
                        %td{:width => "80"}
                            .activity
                                =# topic.user.comments.last.created_at.strftime("%b, %d, %Y")

评论表

create_table "comments", force: :cascade do |t|
 t.string   "commentable_type"
 t.integer  "commentable_id"
 t.integer  "user_id"
 t.text     "body"
 t.datetime "created_at",       null: false
 t.datetime "updated_at",       null: false
end

1 个答案:

答案 0 :(得分:1)

只需使用

topic.comments.last.created_at.strftime("%b, %d, %Y")

将获得该主题的最后评论日期。