Ruby on Rails will_paginate - NoMethodError

时间:2014-08-27 14:28:05

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

我正在尝试对我的项目列表进行分页,但不知何故它不起作用。我对红宝石很新。

我通过将gem 'will_paginate', '~> 3.0.5'添加到gemfile并在控制台中运行bundle install来安装will_paginate。

之后我将控制器改为

def index
  #@productions = Production.all
  @productions = Production.paginate(:per_page => 25, :page => params[:page])
end

和我添加的index.html.erb文件:

<h1>Listing productions</h1>
<%= link_to 'New production', new_production_path %>
<table>
  <tr>
    <th>Date</th>
    <th>Time</th>
    <th>Area</th>
    <th>Items</th>
  </tr>

  <% @productions.each do |production| %>
    <tr>
      <td><%= production.date.strftime("%m/%d/%Y") %></td>
      <td><%= production.timefrom.strftime("%H:%M") %> to <%= production.timeto.strftime("%H:%M") %></td>
      <td><%= production.area %></td>
      <td><%= production.items %></td>
      <td><%= link_to 'Show', production_path(production) %></td>
      <td><%= link_to 'Edit', edit_production_path(production) %></td>
      <td><%= link_to 'Destroy', production_path(production),
                    method: :delete, data: { confirm: 'Are you sure?' } %></td>
    </tr>
  <% end %>
</table>
<%= will_paginate @productions %>

但是当我重新加载页面时,它仍会出现此错误:

NoMethodError in ProductionsController#index
undefined method `paginate' for #<Class:0x5225898>

有人可以告诉我为什么吗?或者给我一个提示?

1 个答案:

答案 0 :(得分:1)

您应该重新启动您的开发服务器。