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.