2013-09-06 17 views
10

dostaję DEPRECATION WARNING: #apply_finder_options is deprecated. gdy próbuje to w moim user.rb:amortyzacyjne ostrzegawcze: #apply_finder_options

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

Called przez UsersController:

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

paginacji odbywa się z will_paginate gem.

Co powoduje wyzwolenie ostrzeżenia i jak mogę to naprawić? Próbowałem googlować, ale uważam, że dokumenty nie są zbyt obszerne!

Odpowiedz

24

Jestem całkiem pewien, że wystarczy wyciągnąć Kolejność i warunki opcji z metodą paginate i użyć Active Record za to w zamian:

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

Perfekt, dziękuję! – mfaerevaag