将rails重定向到edit_user_path(current_user)

时间:2016-03-14 22:29:50

标签: javascript ruby-on-rails

我在我的应用上使用条纹,在有人输入他们的信息后,我希望页面重定向以便他们编辑他们的个人资料,edit_user_path(current_user)

如何在几秒钟后触发重定向到该页面?

我正在考虑下面的javascript但是如何将URL设为用户编辑路径?

<script> 

$(document).ready(function () {
    // Handler for .ready() called.
    window.setTimeout(function () {
        location.href = "https://www.google.co.in";
    }, 5000);
});
</script>

2 个答案:

答案 0 :(得分:1)

在服务器端渲染视图时,需要将edit_user_path(current_user)从ruby上下文导出到javascript上下文。

有几种方法可以将数据从ruby导出到javascript。其中一种方法是使用javascript_tag,您可以按如下方式分配给javascript变量(仅作为示例):

<%= javascript_tag do %>
  window.edit_current_user_path = '<%= edit_user_path(current_user) %>'
<% end %> 

然后你可以在你的javascript中使用该变量:

<script>
$(document).ready(function () {
    // Handler for .ready() called.
    window.setTimeout(function () {
        location.href = window.edit_current_user_path;
    }, 5000);
});
</script>

有关详细信息,请参阅JavaScriptHelper#javascript_tag

答案 1 :(得分:0)

你可以在rails中创建一个带有data属性的隐藏元素。然后从jquery读取该标记。

<div class='thing' data-thing='<%=edit_user_path(current_user)%>' style='display:none;'></div>


$(document).ready(function () {
    $('.thing').attr("data-thing"); //path
});