如何在Rails应用程序中动态更新变量

我正在使用twitter gem编写我的第一个Rails应用程序。 我只是检索搜索结果,并尝试每隔5秒左右单独循环一次。

我的想法是创建一个变量并让这个变量代表数组索引,并简单地用Javascript动态更新这个变量(每5秒钟左右)。 在客户端实现这一目标的最佳方法是什么? AJAX? JavaScript的?

这有意义吗? 如果有帮助,我将很乐意提供更多背景信息。 谢谢。

听起来你正试图建立某种“最近的推文”大帐篷。 在不了解您的要求的情况下,您可以尝试简单地在Rails中加载十条最新的推文,将它们放在十个隐藏的div中,然后使用jQuery循环浏览页面上的不同推文。

如果要求在没有用户刷新页面的情况下“更新”最新的推文,那么是的,您可能需要进行AJAX调用。

很难说出你认为你在问什么:当你的JavaScript执行时,服务器不再涉及。

如果要在服务器端更新某种计数并以有意义的方式保留它,可以通过Ajax执行此操作。

但是你真的想做什么呢?

Ruby在服务器上运行,而JavaScript(通常)在客户端上运行。

Ruby生成一个HTML文档(可能带有嵌入式JS),服务器将它传递给客户端。

在那个阶段,Ruby已经完成了执行。 使用Ruby进行任何进一步操作的唯一方法是向服务器发出新的HTTP请求。 这可以通过链接,提交表单,设置location.href ,使用XMLHttpRequest或许多其他技术来完成。

这将导致Ruby程序再次执行(或者执行不同的程序),这将对输入数据执行任何操作。

您不能简单地从客户端在服务器上“设置变量”。

在我的特定情况下,我使用ruby的.to_json方法来转换数据,然后使用javascript对其进行操作。 这使我可以灵活地无缝地循环数据。 至少它似乎适用于我的特殊情况。 谢谢你的帮助!