前几天我们突然遇到了这个问题。我们的 Rails 应用程序正在使用 will_paginate,我在控制器中将其定义如下:
# contacts_controller.rb
def index
# ...
@search = @current_user.contacts.search(params[:search])
@contacts = @search.all.paginate({:page => params[:page], :per_page => 20})
end
开发和登台(这是一个登台盒而不是生产)都指向同一个数据库。上面的代码在我的本地机器上运行良好,但是在暂存时出现以下错误:
undefined method 'to_i' for {:per_page=>20, :page=>nil}:Hash
两台计算机上的代码相同。知道为什么它在一个上运行良好而不在另一个上运行吗?
编辑:在登台服务器上,我正在使用插件,而在本地机器上,我正在使用 gem,但是我删除了插件并安装了 gem,现在我收到一条错误消息:
uninitialized constant Array::WillPaginate
显然它仍然没有解决..在登台服务器上进行部署后,我再次收到该错误,尽管它之前工作正常。有人对此有任何想法吗?我完全一无所知。