2013-09-06 48 views
10

tôi nhận được DEPRECATION WARNING: #apply_finder_options is deprecated. khi cố gắng này trong user.rb tôi:Deprecation cảnh báo: #apply_finder_options

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

gọi qua UsersController:

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

Các pagination được thực hiện với sự will_paginate đá quý.

Điều gì đang kích hoạt cảnh báo và cách khắc phục sự cố? Đã thử một số googling, nhưng tôi tìm thấy các tài liệu không quá toàn diện!

Trả lời

24

Tôi khá chắc chắn rằng bạn chỉ cần kéo các tùy chọn trình tự, điều kiện ra khỏi phương pháp paginate và sử dụng Active Record cho rằng thay vì:

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

Perfekt, cảm ơn bạn! – mfaerevaag