Rails 3升级will_pagination错误的参数个数(2个为1)

时间:2012-06-24 03:18:44

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

我正在使用ruby 1.9.3将我的rails应用程序从2.3.5升级到3.2.5。在旧应用程序中,我使用了will_paginate插件,我将其转换为gem。

升级后,我收到以下错误:     错误的参数数量(2对1)

应用程序跟踪的几行:     应用程序跟踪|框架跟踪|完整跟踪

will_paginate (3.0.3) lib/will_paginate/active_record.rb:124:in `paginate'
app/models/activity.rb:28:in `dashboard_activities'
app/controllers/dashboard_controller.rb:10:in `index'
actionpack (3.2.5) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.5) l

我认为问题出在活动模型中的旧代码中,我正在使用分页。有人可以帮忙吗?

代码:

def dashboard_activities(page, total_records, date_range1 = nil, date_range2 = nil ) 
  unless date_range2.nil? 
    x =[ "is_delete = false AND status = 'open'  AND date(due_date) between ? and ?", date_range1, date_range2]
  else
    x =[ "is_delete = false AND status = 'open' AND date(due_date) = ? ", date_range1]  
  end       
  paginate(:all,
    :page =>page,
    :per_page =>total_records,
    :conditions => x,
    :order =>"due_date asc")
end

1 个答案:

答案 0 :(得分:2)

错误消息说明了一切:

paginate方法只需要一个参数,那就是选项哈希。 如果你省略:all参数都可以正常工作。

在gem版本> = 3.0中,您可以调用这样的较短页面方法:

paginate(page: page, per_page: total_records, conditions: x, order: "due_date asc")

有关详细信息,请参阅will_paginate wiki