Ruby on rails 3.1 轨道可以';参数上的t dup NilClass错误

Ruby on rails 3.1 轨道可以';参数上的t dup NilClass错误,ruby-on-rails-3.1,Ruby On Rails 3.1,我的控制器里有这个: @artists = Artist.where("artist LIKE ?", "%#{params[:term]}%").limit(500).paginate(params[:page]) 我得到了无法复制NilClass错误 现在,params[:term]和params[:page]是两个不同的变量,为什么会出现错误?如果删除第二个params变量,错误就消失了 即使我这样做,它仍然会出现: page = params[:page] <%= will_

我的控制器里有这个:

@artists = Artist.where("artist LIKE ?", "%#{params[:term]}%").limit(500).paginate(params[:page]) 
我得到了
无法复制NilClass
错误

现在,params[:term]和params[:page]是两个不同的变量,为什么会出现错误?如果删除第二个params变量,错误就消失了

即使我这样做,它仍然会出现:

page = params[:page]
<%= will_paginate @artists if @artists.respond_to? :total_pages %>
然后如下:

paginate(page)
我想了解为什么会发生这种情况,以及如何修复它,如何在同一行中使用params()中的两个变量而不出现错误

编辑


我发现用一个整数替换params[:page]会导致一个稍有不同的错误:
无法重复FixNum
,因此问题可能不是params,而是其他方面。但我仍然不知道如何解决这个问题

我的错误。对此我深表歉意,但我使用paginate不恰当。我希望我能删除这个问题,但似乎没有办法。正确的使用方法是:

paginate(:page => params[:page]
我猜当你盯着代码看太久的时候就会发生这种情况:)

也许它会帮助其他人处理Paginate。我真的很喜欢它,但是错误可以更具描述性

例如,除非执行以下操作,否则我将始终获得未知方法错误:

page = params[:page]
<%= will_paginate @artists if @artists.respond_to? :total_pages %>

感谢您没有删除此问题。我同样疏忽大意,也在改变: 分页(参数[:页]) 到 分页(页码:参数[:页码])
修好了。

很高兴它帮助了别人。后来我转到了卡米纳里,那里有更好的支持。Will_patinate在水资源开发方面似乎已经死了。绝对不是要删除的东西,我只是犯了同样的错误!