弃用警告:#apply_finder_options

10

在我的user.rb中尝试以下操作时,我收到了DEPRECATION WARNING: #apply_finder_options is deprecated.警告:


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个回答

24

我很确定你只需要从paginate方法中提取排序和条件选项,然后改用Active Record即可:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接