我得到了
render :text => "Some text"
我真正需要的是这样的事情
render :text => "Some text", :duration => 5000
“一些文字”将在短时间内呈现,然后它将消失。
如果无法实现,我可以使用:alert
标记进行相同的操作吗?具体如何?
答案 0 :(得分:2)
您必须考虑使用HTTP,这是无状态的。这意味着:客户端和服务器之间没有连接。它始终只是:
http://.../someResource
每次客户端请求资源时,服务器都不记得他以前曾在那里(至少在普通严格的HTTP中)。然后是人们发明了Sessions和Cookies,但这是一个不同的故事。
我想说的是:服务器只能发送请求的资源,完成后他不知道有客户端请求了什么。
动态行为只有一个选择:JavaScript(从CSS3开始,也应该可以触发在5000毫秒后隐藏一些div的动画。)
现在你必须考虑:
server push
的东西,它在名为atmosphere
(以前称为comet
)的库中实现。但它不是真正的消息从服务器,它更多是来自客户端的第二个请求,当有事件要发送到客户端时,服务器首先得到答复(long-pooling
))。注意:这也需要客户端的JavaScript。我会说:使用第一个解决方案(jQuery
)',因为它已经内置到Rails中(至少如果你在Rails 3.1或更高版本)