- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在这个问题中,我有两个数据库表:
假设在 facebook 的一个群组内发生了这些连续的 Action :
然后这 2 个帖子中的每一个都触发了为该组创建 FeedItem(事件)。
现在,当用户加载页面时,提要事件按 created_at/updated_at 排序。提要事件是一组多态对象(可以是帖子、照片、投票、文件...)。
如果稍后用户 A 评论了用户 B 的帖子,则提要的正确顺序现在应该是:
那么当用户 A 评论“状态 2”时会发生什么?我是否必须找到相关帖子(添加评论的位置)并更新帖子相关事件的时间戳?
我需要一些建议。谢谢!
更新
class Comment < ActiveRecord:Base
belongs_to :post, touch: true
end
class Post < ActiveRecord:Base
has_many :comments
act_as_activity -> on_create will create a Activity representing this object
end
class Activity < ActiveRecord:Base
belongs_to :item, :polymorphic => true
belongs_to :parent, :polymorphic => true
belongs_to :user
end
所以提要查询将查找事件表,因为我可以在提要中有多种类型的对象。并且评论帖子时必须刷新此表中的时间戳,因为查询是在 Activity 表中完成的:
SELECT * FROM Activity
ORDER BY updated_at
最佳答案
如果我理解正确,帖子应该以“最近”的顺序显示。在帖子上添加评论应该会刷新“最近”时间。
这里有一些值得尝试的东西。有一个名为 :touch 的 belongs_to 关联选项。通过添加此选项,只要从关联中添加(或删除)评论,在帖子上添加评论应该会导致帖子上的 updated_at 字段更新。
http://guides.rubyonrails.org/association_basics.html
例如:
class Comment < ActiveRecord:Base
belongs_to :post, touch: true
end
class Post < ActiveRecord:Base
has_many :comments
end
然后您对 Post 实例的 :updated_at 字段进行排序。
关于ruby-on-rails - 如何将新闻源中的项目排序为 last_active_at?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399334/
在这个问题中,我有两个数据库表: 发表(有_很多:评论) ActivityFeed (belongs_to item, :polymorphic) 评论(belongs_to :post) 假设在 f
我是一名优秀的程序员,十分优秀!