De nombreuses personnes rencontrent un problème avec le Observer de Prototype, utilisé entre autres par les helpers observe_form et observe_field de Ruby on Rails. (voir le ticket sur le Trac).
En effet la méthode Form.Element.Observer n’est appelée que la première fois que le bouton radio est cliqué, ce qui est plutôt embêtant.
Je viens de trouver une solution à ce problème qui m’a fait perdre pas mal de temps :
<%= observe_field("design_choice",
:frequency => 0.1,
:url => {:action => 'update_design' },
:with => 'design_id',
:update => '') %>
Dans mon cas, simplement ajouter une :frequency à mon helper corrige le problème. Ce comportement est étrange étant donné que l’action par défault d’un observe_field est onclick, ce qui devrait fonctionner sans timer.
Edit : Cette méthode ne résoud pas le même problème en utilisant une :function au lieu d’une :url …