弃用警告:#apply_finder_options

时间:2013-09-06 22:39:01

标签: ruby-on-rails ruby-on-rails-4 deprecated will-paginate

我在DEPRECATION WARNING: #apply_finder_options is deprecated.

中尝试此操作时获得user.rb
def User.search(search, page)
  paginate page: page,
           per_page: 10,
           conditions: ['name LIKE ?', "%#{search}%"],
           order: 'name'
end

通过UsersController调用:

def index
  @users = User.search(params[:search], params[:page])
end

分页是使用will_paginate gem。

完成的

什么是触发警告,我该如何解决?一直在尝试谷歌搜索,但我发现文档不太全面!

1 个答案:

答案 0 :(得分:24)

我很确定你只需要从分页方法中提取订单和条件选项,然后使用Active Record代替:

def User.search(search, page)
  order('name').where('name LIKE ?', "%#{search}%").paginate(page: page, per_page: 10)
end