gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 01:37:06 25 4
gpt4 key购买 nike

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

换句话说:

  1. 用户点击“提交”按钮
  2. 表单通过 :remote => true 提交
  3. Javascript 以编程方式将用户引导至下一页。

有点像: create.js.erb

  <% if @result %>
<script type="text/javascript">
window.location.href="<%= @user.next_page %>
</script>
<% end %>

我是否可以生成/确定下一页是什么,然后通过 JavaScript 重定向用户?

谢谢!

最终解决方案:根据下面 Kieran 的帮助,我最终做了以下事情:

<% if @result %>   
<% unless @users.last_page? %>
window.location.href="?page=<%=@users.current_page+1 %>"
<% else %>
window.location.href="completed"
<% end %>

这对我来说似乎工作得很好。

最佳答案

您遇到的问题是 Kaminari 需要“范围”才能从当前页面正确确定下一页:

https://github.com/amatsuda/kaminari/blob/bc51fd08f9e67b8338b421f6827d7d8e54c82deb/lib/kaminari/helpers/action_view_extension.rb#L64

由于您要提交到 JavaScript,因此您需要为此方法提供此范围才能使其正常工作。在 Controller 的 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 %>

关于javascript - Rails 4 - 使用 Kaminari 通过 Javascript 重定向到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com