Bonjour,
je réalise un moteur de recherche pour mon application, j’ai donc un
formulaire avec plusieurs champs. Je voudrais donc savoir quelle est
la manière de construire les conditions en dynamique.
Lors de la soumission du formulaire, je ne connais pas les champs qui
seront remplis
Merci
Jojo
On 10/1/07, jojo280 [email protected] wrote:
Bonjour,
je réalise un moteur de recherche pour mon application, j’ai donc un
formulaire avec plusieurs champs. Je voudrais donc savoir quelle est
la manière de construire les conditions en dynamique.
Lors de la soumission du formulaire, je ne connais pas les champs qui
seront remplis
conditions = []
params.each_with_key do |k, v|
conditions[0] += " #{k} = ? "
conditions << v
end
Objet.find :all, :conditions => conditions
une petite idée comme ça et non
testé.
Cyril M.
Le plugin simply searchable est ton ami :
http://agilewebdevelopment.com/plugins/simplysearchable
++
yk
Le 01/10/07, jojo280[email protected] a écrit :
Disons que c’est pas mal pour commencer parce que ça se met très vite
en place. Après c’est clair que le plugin est fini avec les pieds…
++
yk
Le 01/10/07, Jean-François Trân[email protected] a écrit :
Yann :
Le plugin simply searchable est ton ami :
http://agilewebdevelopment.com/plugins/simplysearchable
C’est un plugin intéressant, mais il y a des choses qui ne
me rassurent pas :
exemple dans le code :
conditions_array << “#{key.gsub(‘_from’,‘’)} >= #{value}”
ça me semble propice aux injections SQL.
2e chose, si sa fonction de recherche est simple, ie
une série de conditions concaténées par AND, autant
construire un hash et utiliser Article.find :all, :conditions => hash
et ActiveRecord s’occupe de tout derrière 
– Jean-François.
–
Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)