ciao a tutti.
sto sviluppando in rails 2.0.2 e ho l’esigenza di modificare l’output di
una query tramite un filtro che scelgo tramite una select.
quindi nella mia form ho in alto 1 select: ‘centro di costo’ con le cui
scelte creo la clausola where della query con cui instanzio un oggetto
activerecord che impagino con will_paginate.
per fare cio richiamo nell’evento onchange delle select una
remote_function come di seguito:
:onchange => remote_function(:url => {:action => :cambio_centro_costo},
:with => “‘id=’ + this.value”))
nella cui azione rimodulo la query sql per la rivalorizzazione
dell’oggetto activerecord col metodo paginate_by_sql e poi provo a
renderizzare la partial in cui giace la lista di output nel modo
seguente:
render :update do |page|
page.replace_html ‘lista-mezzi’,:partial => ‘lista_mezzi’
end
la cosa funziona… finchè non si ha la necessità di sfogliare la lista.
appena chiedo la 2 pagina il browser mi visualizza il codice java con
cui fa il try element.update dell’id ‘lista-mezzi’…
mi sono accorto che la url creata per il cambio pagina include anche il
nome dell’azione invocata con la remote_function (cambio_centro_costo)
quindi invece che una url corretta come:
‘http://localhost:3000/mezzi?page=2’
in caso modifichi la lista originale e provi a sfogliarne l’output mi
scatena l’url errata:
http://localhost:3000/mezzi/cambio_centro_costo?page=2
non sono un esperto di rails e spero di essere stato chiaro
nell’illustrare il mio problema.
qualcuno puo darmi una dritta?
grazie
Andrea