Próbuję od dłuższego czasu (bez skutku) przechwycić kliknięcie na radio button aby wysłać coś do kontrolera. Używam teraz RoR 1.1.3 (ale na 1.1.2 był to samo). Coś źle robię?
[code]<%= radio_button_tag(:city, ‘Dublin’) %>
<%= observe_field(:city, :frequency => 0.5,
:on => ‘click’,
:with => “‘city=’ + $F(‘citi’)”,
:url => { :action => ‘remote_city_choosen’ }) %>
…
def remote_city_choosen
puts ‘#’ * 60 # nic się nie wyświetla
p params[:city] # na konsoli
end[/code]
W http://api.rubyonrails.com/ odnośnie observe_field piszą że domyslnie ustawia zdarzenie onclick na przyciskach radio, ale profilaktycznie podaję mu to jawnie. To w ogóle nie działa…
Nadgorliwość w tym wypadku się nie opłaca. Zadziałało jak wpisałem tylko:
<%= observe_field(:city, :with => 'city',
:url => { :action => 'remote_city_choosen' }) %>
To rozwiązało jeden problem, ale został drugi. Chcę stworzyć kilka radio buttonów tak, aby każdy był niezależnie obserwowany, ale aby były to prawdziwe radio-buttony, tzn. aby mozna było wybrać tylko jeden. Nie widzę w opisie do radio_button_tag opisu jak ustawić własny name i własny id. Na razie po prostu wklepałem swój kod html.