好的,所以我决定在rails 3项目中使用Kaminari进行分页。我已经关注了RailsCasts http://railscasts.com/episodes/254-pagination-with-kaminari
的视频直到该点或运行服务器一切顺利。
控制器/ stories_controller.rb
def index
@stories = Story.all
@pages = Story.page(params[:page]).per(3)
@stories = Story.search(params[:search])
end
视图/故事/ index.html.erb
<%= paginate @pages %>
当我启动服务器时,有问题的索引页面会显示来自数据库的全部故事并显示分页视图(1 2 Next&gt; Last»)。为了让分页工作,我错过了什么?
答案 0 :(得分:4)
我仍然无法理解你的代码。为什么在第1行将Story.all分配给@stories并覆盖第3行中的变量?
无论如何,@ story将显示“来自数据库的所有故事”,因为你没有在@stories上调用分页方法(.per
)。分页链接将显示分页计数,因为您在@page变量上调用per
方法并将其传递给帮助程序。
我的意思是,您需要在关系上调用.per
,然后再将其传递给<%= paginate %>
帮助器。
这很简单。
答案 1 :(得分:3)
我想你想从搜索中获得结果,对吧? 尝试
@stories = Story.search(params[:search]).page(params[:page]).per(3)
等等:
<% @stories.each do |story| %>
<%= render story %>
<% end %>
<%= paginate @stories %>
在您的视图中