Rails 4 - will_paginate

时间:2013-07-25 17:52:13

标签: ruby-on-rails will-paginate

这是我第一次尝试使用will_paginate(我知道!我去过哪里了?)

titles_controller.erb

  def index
    @titles = Title.active.sorted.paginate(:page => params[:page])
  end

index.html.erb

<% will_paginate @titles.each do |title| %>

错误:

undefined method `total_pages' for #<Enumerator:0x00000002bacaf0>

WTF我做错了吗?提前谢谢。

2 个答案:

答案 0 :(得分:11)

请阅读paginate docs。你需要写:

<%= will_paginate @posts %>

无需添加each

所以整个视图看起来像:

<% @titles.each do |title| %>
  <!-- do smth with title -->
<% end %>

<%= will_paginate @titles %>

答案 1 :(得分:3)

在你的情况下,你不需要写:

<%= will_paginate @titles %>

因为它位于title_controller的上下文中,所以will_paginate将假设它们是一个可用的@titles变量。因此,可以写下:

<%= will_paginate %>