will_paginate不适用于所有视图

时间:2014-06-16 18:27:13

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

我正在关注rails教程并使用will_paginate gem。 我有一个帖子索引和一个用户索引,但gem只适用于帖子索引。这是我的代码:

users_controller.rb

    def index
      @users = User.paginate(page: params[:page], per_page: 20) 
    end 

index.html.erb

<div class="listed">
    <p>Users Directory</p>
    <%= will_paginate %>
        <ul>
            <%= render @users %>
        </ul> 
    <%= will_paginate %>
</div>

_user.html.erb

 <li>
<%= link_to user.name, user %> 
            <% if current_user.admin? && !current_user?(user) %>
            <%= link_to("delete", user, method: "delete", data: { confirm: "Are you sure?"}, class: "small-button") %>
            <% end %>
</li>

我对帖子提供完全相同的语法&#39;查看和控制器,所以我不知道我对用户做错了什么...... 如果我需要添加更多代码,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:0)

如果你看will_paginate github repo。它清楚地表明要向用户呈现您需要执行的操作:

## perform a paginated query:
@posts = Post.paginate(:page => params[:page])

# or, use an explicit "per page" limit:
Post.paginate(:page => params[:page], :per_page => 30)

## render page links in the view:
<%= will_paginate @posts %>

所以你的index.htm.erb将是

<div class="listed">
  <p>Users Directory</p>
  <%= will_paginate @users %>
</div>