【问题标题】:will_paginate not working in a certain viewwill_paginate 在某个视图中不起作用
【发布时间】:2014-07-15 07:34:50
【问题描述】:

我的视图文件中有以下代码

<div id="articles">
<% @results.each do |r| %>
<h2>
<%= link_to r.univ_name, "#" %>
</h2>
<div class="info">
<b><%= r.location %>, <%= r.state %></b> <br/>
</div>
<br /><br />
<br /><br />
<div class="content"><p><%= r.description %><p></div>
<% end %>
</div>
<%= will_paginate @results %>

我包括

@results = Result.search(params[:query], page: params[:page], per_page: 4)

results_controller.rb 文件中。我的结果表中有大约 8 条记录,但是视图列出了所有记录,而不是将它们限制为每页 4 条。有人可以建议我在哪里做错了吗?

谢谢

【问题讨论】:

  • 我觉得应该是Result.search(params[:query]).paginate(page: params[:page], per_page: 4)
  • @ArupRakshit 你是对的!
  • @ArupRakshit 还是一样
  • @results 的输出是什么?我的意思是`Result.search(params[:query]` ?
  • 将您的method 或您的controller 发布到您提供pagination 的位置。

标签: ruby-on-rails ruby ruby-on-rails-4 pagination will-paginate


【解决方案1】:

根据Basic will_paginate use,您的代码是错误的。应该如下:

Result.search(params[:query]).paginate(page: params[:page], per_page: 4)

【讨论】:

  • +1 是第一个给出正确答案的人(在您的评论中)。
【解决方案2】:

您应该使用will_paginate gem 的paginate 方法来实现分页

@results = Result.search(params[:query]).paginate(page: params[:page], per_page: 4)

确保您在 Controller 的 action 中设置了 @results 实例变量,该变量将呈现您的视图

<%= will_paginate @results %>

【讨论】:

  • @user3317862 你能分享search方法的代码吗,还包括为这个请求生成的服务器日志。将其添加到问题中。
  • 现在可以使用了。列出结果有一个 if else 条件。我想到了。但是,答案很有帮助。谢谢
  • 没问题。很高兴帮助:)
猜你喜欢
  • 2013-12-09
  • 2020-10-25
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多