redirect_to方法无法正常工作

时间:2013-09-23 06:44:34

标签: javascript ruby-on-rails ruby-on-rails-4

<script>
  function check()
  {
    <% if !user_signed_in? %>
    alert("Sign in to order");
    <%redirect_to :path=>new_user_session_path%>
    <% else %>
    <% if current_user.points < form.order_total.value %>
    <%redirect :path=>credits_path%>
    <% end %>
    <% end %>
  }
</script>

我已经在订单新页面中写了这个。我写这篇文章是为了回应onclick动作。我在这做错了什么?我也试过

&lt;%redirect_to new_user_sessions_path%&gt;而且对于另一个也是如此。我应该如何改变那个有用的工作?

我得到的错误是

undefined method `redirect_to'

1 个答案:

答案 0 :(得分:2)

您可以使用window.location使用javascript重定向用户,并使用路径助手通过Rails获取位置。像这样的Sthing

   <script>
      function check()
      {
        <% if !user_signed_in? %>
           alert("Sign in to order");
           window.location = "<%= j new_user_session_path %>";
        <% elsif current_user.points < form.order_total.value %>
            window.location = "<%= j credits_path %>";
        <% end %>
      }
    </script>

请注意,Rails部分在发送到客户端之前会被解析。所以if else语句不会在客户端执行。