首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails tutorial will_paginate引发undefined_method total_pages

Rails tutorial will_paginate引发undefined_method total_pages
EN

Stack Overflow用户
提问于 2012-01-19 00:06:37
回答 2查看 5.6K关注 0票数 0

我已经在rails教程中被困了一段时间了。我在第10.3节中,我们应该在其中添加分页。我已经将gem 'will-paginate‘添加到我的Gemfile中,这是索引视图

代码语言:javascript
复制
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
    <li>
        <%= gravatar_for user, :size => 30 %>
        <%= link_to user.name, user %>
    </li>
<% end %>
</ul>
<%= will_paginate %>

服务器会出现以下问题:

代码语言:javascript
复制
ActionView::Template::Error (undefined method `total_pages' for #<Array:0xa0283fc>):
    1: <h1>All users</h1>
    2: <%= will_paginate %>
    3: <ul class="users">
    4:  <% @users.each do |user| %>
    5:      <li>

我一直在找它..但显然类似问题的解决方案都没有奏效。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-19 00:13:09

只需在教程中向下滚动-下一节将解决该问题:)

不过,清单10.27中的视图还不能工作,因为当前@

包含了User.all (清单10.20)的结果,它属于User.all类,而will_paginate需要一个WillPaginate::Collection类的对象。

然后它会让您修改UsersController来修复它-

代码语言:javascript
复制
class UsersController < ApplicationController
  before_filter :authenticate, :only => [:index, :edit, :update]
  .
  .
  .
  def index
    @title = "All users"
    @users = User.paginate(:page => params[:page])
  end
  .
  .
  .
end
票数 2
EN

Stack Overflow用户

发布于 2012-01-19 00:12:39

我猜你遗漏了will_paginate的一个参数

代码语言:javascript
复制
will_paginate @users
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8913343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档