Come costruire una query dinamica su RubyonRails

Marco Ballante - 01/02/2016

Qualcuno conosce un sistema migliore di questo per creare una query dinamica con RubyOnRails? 

def self.find_all_with_criteria_new(params) 
  conditions = String.new 
  values = Array.new 
  params.each_key do |key| 
   if key == 'city' && !params[key].blank? 
     conditions << " AND " unless conditions.length == 0 
     conditions << "upper(city) like ?" 
     values << "%#{params[key].upcase}%" 
   elsif key == 'location' && !params[key].blank? then 
     conditions << " AND " unless conditions.length == 0 
     conditions << "working_city = ?" 
     values << params[key].upcase 
   end 
  end 
  values.insert(0, conditions) 
  User.where(values).paginate(:page => params[:page],:per_page => 20) 
end
Javajob.it © 2019 - Javajob.it è un progetto realizzato da Gsoftware srls