【发布时间】:2012-02-09 07:23:00
【问题描述】:
有没有办法在几秒钟后通过使用 rails 进行重定向?
我希望当用户单击链接时看到页面并在几秒钟后重定向到他的个人资料(user_path)
【问题讨论】:
有没有办法在几秒钟后通过使用 rails 进行重定向?
我希望当用户单击链接时看到页面并在几秒钟后重定向到他的个人资料(user_path)
【问题讨论】:
因为 HTML 是 Rails 应用程序的一部分,您可以默认使用标准的 html 重定向选项:
<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.yourdomain.com/index.html">
将0 更改为您希望在重定向之前等待的秒数。
另一方面,您可以使用 javascript(也是 rails 应用程序的一部分):
<html>
<head>
<script type="text/javascript">
function delayedRedirect(){
window.location = "/default.aspx"
}
</script>
</head>
<body onLoad="setTimeout('delayedRedirect()', 3000)">
<h2>You'll be redirected soon!</h2>
</body>
</html>
【讨论】:
"/default.aspx" 替换为"<%= user_path %>"。
"/default.aspx" 替换为"<%= user_path %>",因为对我来说它不起作用。我不认为 javascript 可以识别 rails 标签
<%= 和 %> 标签)而遇到上述问题的人,您需要通过附加 @ 使该文件成为 ERB 文件987654330@ 到预编译文件的文件名末尾。这些标签是特定于 ERB,而不是 Rails。
你可以使用sleep方法
sleep(2.0)
redirect_to root_path
【讨论】: