Forum: Italian Ruby user group forse si puo' fare di meglio......

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-03-02 10:56
(Received via mailing list)
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.
8768bcdbda1adf80e4da6744268868af?d=identicon&s=25 Pietro Giorgianni (giorgian)
on 2009-03-02 11:05
(Received via mailing list)
Il 2 marzo 2009 10.56, Mauro <mrsanna1@gmail.com> 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ù.
B0f6d8efcf671ea3163449e231264cc4?d=identicon&s=25 Msan Msan (msan)
on 2009-03-02 11:06
(Received via mailing list)
2009/3/2 Pietro Giorgianni <giorgian@gmail.com>:
>> 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.
8768bcdbda1adf80e4da6744268868af?d=identicon&s=25 Pietro Giorgianni (giorgian)
on 2009-03-02 12:18
(Received via mailing list)
2009/3/2 Mauro <mrsanna1@gmail.com>:
>> 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
This topic is locked and can not be replied to.