Select - onclick

Ciao a tutti,
ho un quesito da porvi.

Ho questo frammento di codice:

<% @departures.each do |departure| %> <option value="<%=departure.id %> <%= departure.from %> - <%= departure.to %> ore <%= departure.start_time%> </option> <% end %> </select> <p>Vorrei che al click sull’elemento selezionato venga aggiornata una<br> variabile di sessione( session[:departure_id] ) con il valore<br> dell’elemento stesso.</p> <p>Spero di essere stata chiara.<br> Qualcuno può aiutarmi?</p> <p>Grazie a tutti anticipatamente.</p>

Ciao ragazzi,
ho risolto in questa maniera:

<%= collection_select(:departure_id, :departure_id, @departures, :id,
:departures,
{:prompt => “Seleziona una tratta”},
{:onchange => “#{remote_function(:url => {:action
=> “search”, :controller=>“departures”},
:with =>
“‘departure_id=’+value”)}”}) %>

dove departures è un metodo così definito nel model:

def departures
“#{from} - #{to} ore #{start_time.strftime(”%H:%M")}"
end

mentre nel controller l’azione search è la seguente:

def search
session[:departure_id] = params[:departure_id]
render(:update) { |page| page.call ‘location.reload’ }
end

def search
session[:departure_id] = params[:departure_id]
render(:update) { |page| page.call ‘location.reload’ }
end

Ciao a tutti,
rieccomi di nuovo.
Ho un altro quesito da porvi, e spero vivamente che qualcuno mi aiuti.

Il codice che ho scritto funzina su Firefox, ma non su Explorer perchè
una volta che eseguo
render(:update) { |page| page.call ‘location.reload’ }
quindi ricarico la pagina new.html.erb(con all’interno una form di
inserimento dati) perdo le informazioni che ho già inserito.

Qualcuno sa indicarmi una via d’uscita?

Grazie mille a tutti.

Catiana.