Rails 4-使用Kaminari使用Javascript重定向到下一页

Rails 4-使用Kaminari使用Javascript重定向到下一页,javascript,ruby-on-rails,kaminari,Javascript,Ruby On Rails,Kaminari,我目前正在使用Kaminari进行分页,并且我知道link_to_next_page方法。但是,在处理和提交表单后,我目前正在分页范围内寻找“链接到下一页” 换言之: 用户单击“提交”按钮 表单通过:remote=>true提交 Javascript以编程方式将用户引导到下一页 有点像: create.js.erb <% if @result %> <script type="text/javascript"> window.location.hr

我目前正在使用Kaminari进行分页,并且我知道
link_to_next_page
方法。但是,在处理和提交表单后,我目前正在分页范围内寻找“链接到下一页”

换言之:

  • 用户单击“提交”按钮
  • 表单通过
    :remote=>true提交
  • Javascript以编程方式将用户引导到下一页 有点像: create.js.erb

      <% if @result %>
        <script type="text/javascript">
          window.location.href="<%= @user.next_page %>
        </script>
      <% end %>
    
    
    window.location.href=”
    
    我是否可以生成/确定下一页是什么,然后通过javascript重定向用户

    谢谢

    最终解决方案: 根据Kieran在下面的帮助,以下是我最终所做的:

    <% if @result %>   
      <% unless @users.last_page? %>
      window.location.href="?page=<%=@users.current_page+1 %>"
      <% else %>
          window.location.href="completed"
    <% end %>
    
    
    window.location.href=“?页面=”
    window.location.href=“已完成”
    

    这对我来说似乎很好。

    您的问题是Kaminari需要“范围”,以便从当前页面正确确定下一页:

    由于您提交的是javascript,因此需要为此方法提供此作用域以使其正常工作。在create方法的控制器中,您需要使用相同的代码来查询要分页的对象,然后让Kaminari执行其余操作

    @users = User.order(:name).page params[:page]
    
    您需要确保表单也会发送
    params[:page]

    然后你可以做:

      <% if @result && !@users.last_page? %>
        <script type="text/javascript">
          window.location.href="<%=  params.merge(param_name => (@users.current_page + 1)) %>"
        </script>
      <% end %>
    
    
    window.location.href=“(@users.current_page+1))%>”
    
    感谢@Kieran.
    window.location.href=”“
    返回一个
    错误的参数数(1代表2..3)
    错误。当我将其更改为:
    window.location.href=“”
    ,它只刷新当前页面。控制器中的@users用于
    def create
    的是什么?它是:
    @users=users。where(“组id=?“,@group_id).page(参数[:page])。per(1)
    另外,
    链接到下一页
    基本上只生成HTML,就像链接到标签一样:
    。我不确定如何将它放在
    窗口中。location.href=
    会使它工作。我无法在本地安装它,但我已经更新了我的答案。你应该在create.js和tr中放置binding.pryy并以某种方式从users对象获取下一页。