我正在尝试对我的项目列表进行分页,但不知何故它不起作用。我对红宝石很新。
我通过将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>
有人可以告诉我为什么吗?或者给我一个提示?
答案 0 :(得分:1)
您应该重新启动您的开发服务器。