我有rails / angular app,用户可以将电影添加到他们的关注列表,用户也可以与其他用户建立友谊。现在我想创建一个活动流,当朋友将电影添加到他们的监视列表时通知用户。但是我找不到任何有关如何开始使用此功能的好资源。
对于友谊,我有一个友谊模型,
create_table "friendships", force: :cascade do |t|
t.integer "user_id"
t.integer "friend_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
用户,朋友和新添加的记录(电影)之间的联系是什么?
答案 0 :(得分:1)
你可以尝试public_activity gem。我相信你发现它很有用,而且文档几乎提供了你描述的所有案例。
您有一个关于主题here的截屏视频,它同时支持Rails 3.x和4.x.
关于您的模型,我相信您应首先创建数据的关系模型,然后将其转换为Rails关系。
答案 1 :(得分:0)
你可以试试 Paper trail
每当您的系统进行更改时,paper trail都可以通过whodunnit property
跟踪用户ID。如果控制器使current_user
对象可用,则会自动设置此项。 。它还会跟踪任何用户,无论用户和模型之间是否存在实际关系。
https://github.com/pokonski/public_activity。安装和设置非常简单。
还有Audited
PaperTrail,Vestal versions和Acts as versioned都是非常强大的版本宝石。是的,您也可以使用它来审核/跟踪用户的活动,但它不是很直接,因为它们是“版本控制工具”,而不是“审核目的”
Userstamp和audited仅用于审核目的。但Userstamp适用于较旧的Rails版本(它是一个插件......不再受Rails3(或3.1,3.2?)支持)