Rails 4将按标签分页文章/帖子

时间:2015-02-12 11:13:54

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

尝试对我的标签显示页面上的文章列表(我的案例中的想法)进行分页。所以我列出了所有用“loremipsum”标记的想法。问题是:per_page => 3似乎没有生效。所有的想法都出现了(我有4个用于标记“loremipsum”)并且没有错误。分页链接也显示在页面底部(但第2页不起作用)。

tags_controller:

  def show
    @tag = Tag.find_by_name(params[:id])
    @ideas = @tag.ideas.all.paginate(:per_page => 3, :page => params[:page])
  end

在show.html.erb

  <% @tag.ideas.each do |idea| %>....<% end %>
  <%= will_paginate @ideas %>

在我的想法列表页面分页工作正常,所以没有线索。 任何帮助非常感谢。提前谢谢!

2 个答案:

答案 0 :(得分:1)

我建议您在视图中使用@ideas.each,而不是@tag.ideas.each

<% @ideas.each do |idea| %> ... <% end %>
<%= will_paginate @ideas %>

也就是说,我相信你遇到的问题是因为你没有迭代你应用分页的同一个集合。虽然@ideas会分页,但@tag.ideas不会。

答案 1 :(得分:0)

替换此行

@ideas = @tag.ideas.all.paginate(:per_page => 3, :page => params[:page])

@ideas = @tag.ideas.paginate(:per_page => 3, :page => params[:page])

我相信你不需要all