Come costruire una query dinamica su RubyonRails

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
Marco Ballante 01/02/2016

<p>mi sembra che sia l'unico modo ed &egrave; ben scritto</p> - Dario Linked


Per lasciare un commento devi essere autenticato Accedi

Risposte


Dai il tuo contributo, Rispondi alla discussione!


Non hai trovato la risposta che cercavi? Crea tu una nuova discussione
Javajob.it © 2017 - Javajob.it è un progetto realizzato da Gsoftware srls