【发布时间】:2017-06-09 12:36:25
【问题描述】:
我正在开发一个既需要通知又需要历史记录的应用程序,而让它变得相当困难的是存在“上下文”的概念。
例如,当用户在某个视图中时,他必须只能看到与该上下文相关的通知和历史记录。 每个都有一个控制器,但是当我想在客户端更新通知(使用 Pusher 实时更新)时,我需要从服务器端知道用户所在的上下文。 解决方案是从客户端发送一个 ajax 请求,指定他所在的上下文,当然还有路由。
现在的问题是,为了尊重良好的架构,由于 ajax 请求发送的上下文用于通知和历史记录,我是否应该创建一个控制器来处理它(然后该控制器将联系两个控制器) 还是我应该使用其中之一? 谢谢
【问题讨论】:
-
“上下文”有哪些类型?而且,是否因为其他原因需要使用 Ajax?
-
当用户在他的个人资料中时,他会看到所有通知,但是当用户在应用程序视图中时,他只能看到那些链接到该应用程序的通知。是的,使用 ajax 是必须的,如果您有任何其他选择以便在不重新加载页面的情况下向用户发送实时通知,我愿意接受。
-
老实说,我觉得通知模块不是控制器应该做的,而是控制器应该与之交互的东西。我会创建一个单独的模块,它是全局的,任何控制器都可以访问,然后你可以执行以下操作:控制器 -> 通知模块 -> 服务器 -> 通知模块 -> 控制器
-
使用 Pusher 时,你不能只使用控制器,因为 Pusher 使用他自己的服务器,基于套接字技术,为了让我的控制器工作,我必须使用 ajax。
标签: ruby-on-rails model-view-controller pusher