弃用警告:#apply_finder_options

mfa*_*aag 10 ruby-on-rails deprecated will-paginate ruby-on-rails-4

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
Run Code Online (Sandbox Code Playgroud)

通过UsersController:

def index
  @users = User.search(params[:search], params[:page])
end
Run Code Online (Sandbox Code Playgroud)

分页是用will_paginate宝石完成的.

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

Pet*_*own 24

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

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