Rails:如何使用新邮件更新页面?通过Ajax? jQuery的?

时间:2009-06-15 12:31:41

标签: jquery ruby-on-rails ajax

在我开始编写代码之前,我正试图在这背后获得一些更好的逻辑。

我有一个通过后台进程收集新邮件的模型。 (因此,使用任何消息,数据库每2-3分钟更新一次)。

当用户进入收件箱时,会向他们显示所有当前消息。这对我来说很容易:

@user = User.find(params[:id])
@user.messages

我在页面上显示用户的当前消息。

但是,如果当用户在该页面(或任何其他页面)上时出现 new 消息,如何在不需要整页刷新的情况下更新具有新消息的页面。我知道这可以通过ajax(periodic_call_remote?)来完成。但是我只想突出显示(淡入/淡化)来自的新消息。

试图将我的前提包裹起来。我目前的解决方案是使用部分收件箱,它调用另一部分收件箱邮件。但是,如何定期仅使用“新”消息更新页面?比如,每2分钟检查一次。

想法?

2 个答案:

答案 0 :(得分:1)

如果您的消息有时间戳,那么您可以将其用作新消息的ID的一部分(HTML ID不应以数字开头)。这将在页面上唯一标识该消息,并允许您使用JavaScript等突出显示它。

答案 1 :(得分:0)

为什么不使用定期观察者? (每隔X分钟轮询一次你的应用程序)