Ho un form con 4 campi per una ricerca.
Tale ricerca va effettuata in base al contenuto dei campi ed e’
diversa a seconda di quali campi sono valorizzati, es:
Se solo il campo nome e’ valorizzato la ricerca va effettuata su tutti
per nome;
se solo il campo indirizzo e’ valorizzato la ricerca va fatta su tutti
solo per indirizzo;
se solo i campi nome e indirizzo sono valorizzati la ricerca va fatta
su tutti per nome e indirizzo assieme, e cosi’ via.
La soluzione che sto adottando e’ utilizzare una serie di if elsif
nell’action del controller…ma forse potete suggerirmi una
soluzione piu’ elegante anche perche’ i campi della mia form sono solo
4 ma se dovessero essercene di piu’ tutte quelle if non penso siano il
massimo dell’eleganza.
Il 2 marzo 2009 10.56, Mauro [email protected] ha scritto:
soluzione piu’ elegante anche perche’ i campi della mia form sono solo
4 ma se dovessero essercene di piu’ tutte quelle if non penso siano il
massimo dell’eleganza.
i campi sono text_field?
è una query like?
dicci qualcosa in
più.
2009/3/2 Pietro G. [email protected]:
nell’action del controller…ma forse potete suggerirmi una
soluzione piu’ elegante anche perche’ i campi della mia form sono solo
4 ma se dovessero essercene di piu’ tutte quelle if non penso siano il
massimo dell’eleganza.i campi sono text_field?
i campi sono due text fiels e due select.
è una query like?
Per i campi nome e indirizzo si.
2009/3/2 Mauro [email protected]:
i campi sono text_field?
i campi sono due text fiels e due select.
è una query like?
Per i campi nome e indirizzo si.
per le select:
conditions = {}
conditions[:qualchecosa_id] = params[:qualchecosa_id] if
params[:qualchecosa_id]
conditions[:unaltracosa_id] = params[:unaltracosa_id] if
params[:unaltracosa_id]
che è equivalente a:
for key in [:qualchecosa_id, unaltracosa_id]
conditions[key] = params[key] if params[key]
end
per le query like, spero che qualcun altro intervenga con un’idea
migliore, ma intanto la cosa più pulita che mi viene in mente è usare
dei named_scope…
pietro