observe_filed - gdzie jest błąd?

Witam!
Mam mały problem z observe_field. Próbowałem już różnych sposobów. Ostatecznie zatrzymałem się na:

<%= select_tag :typ, "<option value='-1'>Wybierz...</option>"+options_from_collection_for_select(@list, :id, :name, @selected = session[:id]) %> <%= observe_field( "typ", :url => { :controller => "account", :action => "update", :id => "#{id}" } ) %>
Niestety observe_field nie działa :frowning:
Będę wdzięczny za podpowiedzi…

jak rozumiem chcesz wykorzystac observe_field to automatycznego update w bazie po zmianie opcji w select

lepszym rozwiazaniem tego problemu jest zdarzenie onchange i funkcja remote_function, np.:

<select id="options" onchange="<%= remote_function(:update => "options", :url => { :action => :update_options }) %>"> <option value="0">Hello</option> <option value="1">World</option> </select>

Używam observe_filed żeby pobrać dane do innego select_tag, wg ID z tego pierwszego. Uff, trochę namieszałem, ale chyba wiadomo o co chodzi.
W zasadzie mogę użyć onchange, chodzi o to żeby ID z select_tag “typ” zostało przekazane do action “update”.
Zmieniłem na onchange:

<%= select_tag "typ", "<option value='-1'>Wybierz...</option>"+options_from_collection_for_select(@list, :id, :name, @selected = session[:current_vendor]), :onchange => remote_function(:update => "", :url => { :controller => "account", :action => "update" })%>
…ale coś nie chodzi :-/

a jak poprawnie zdefiniować ten observe_field w moim przykładzie ?

[quote=newman]Zmieniłem na onchange:

<%= select_tag "typ", "<option value='-1'>Wybierz...</option>"+options_from_collection_for_select(@list, :id, :name, @selected = session[:current_vendor]), :onchange => remote_function(:update => "", :url => { :controller => "account", :action => "update" })%>
…ale coś nie chodzi :-/[/quote]
nie dziala, gdyz nie przekazujesz wybranej wartosci, sprobuj tak:

<%= select_tag "typ", "<option value='-1'>Wybierz...</option>"+options_from_collection_for_select(@list, :id, :name, @selected = session[:current_vendor]), :onchange => remote_function(:update => "", :with => "'typ='+ escape($('typ').value)" , :url => { :controller => "search", :action => "update" })%>