我认为通知将是它自己的资源,并且与用户模型有has_many, through个关系,有一个表示关联的联接表.

一个用户有许多通知是显而易见的,然后一个通知会有许多用户,因为会有许多标准化的通知(评论通知、后续通知等)与许多用户关联.

除此之外,我不确定如何根据应用程序中的某些事件触发通知的创建.我也有点不确定我需要如何设置路由——是它自己的独立资源还是嵌套在用户资源中?如果有人能详细介绍一下,我会觉得很有帮助.

最后,ajax轮询可能会改进这种特性.

我可能遗漏了一些东西,所以请填写一下,这样它就成为一个很好的通用资源.

推荐答案

所以总的要点是:

1) 通知将是一种多态关联,因为评论可以有许多通知,用户可以有许多通知,"跟随者"可以有许多通知等等.

2) 你可以有Model Observers个,在那里你可以"观察"某些事件,比如创建新评论时.这是你的触发器.

在路由方面,你真的不需要做任何不正常的事情.唯一的路由可能是一个域.com/notifications,其中显示所有通知.

通知表可能如下所示:

发送方\ id:整数,接收方\ id:整数,应通知\ id:整数,应通知\类型:字符串

Ruby-on-rails相关问答推荐

将 Rails 升级到 6,出现 Blocked host 错误

Gemfile 中新块“git_source(:github)”的含义

Heroku:不能运行超过 1 个免费大小的测功机

活动模型序列化程序中的条件属性

Rails 5:如何从数据库中删除列?

RuboCop:行太长←如何忽略?

从 before_action 中排除控制器

在 El Capitan 上安装 Nokogiri (1.6.7) 时出错

未捕获的 ReferenceError:未定义 React

在 Rails 中,find_each 和 where 有什么区别?

Rails:如何在rails中使用dependent::destroy?

在 Rails 4.1 中,如何通过枚举符号查找记录?

ActiveRecord where field = ?可能值的数组

如何覆盖 ActiveRecord 模型中的 getter 方法?

Vagrant上的Rails 4.2服务器端口转发不起作用

如何使用 rspec 测试 ActionMailer Deliver_later

Rails validates_presense 不验证布尔值?

如何从 Rails 中的枚举中获取整数值?

找不到 Ruby Bundle 符号:_SSLv2_client_method (LoadError)

带有自定义列名的 Rails belongs_to