RoR :: Pasando el valor del campo de una forma en el link_to_remote
Publicado por Edgar González 16 Mayo 2006 en How To's, JavaScript, Rails, Ruby.Recientemente para una aplicación Web que estoy desarrollando en RubyOnRails necesitaba hacer que dado el valor de un campo en una forma (ejemplo: el URL de un blog) calcular (vía Ajax) el valor de otro campo (ejemplo: el URL del feed del blog dado).
La alternativa "más documentada" es usar el helper observe_field, por ejemplo algo de esta forma:
-
<%= observe_field 'blog_url',
-
:on =>'blur',
-
:update => 'feed',
-
:loading =>"Element.show('fav_spinner')",
-
:complete =>"Element.hide('fav_spinner')",
-
:url => { :action=> 'discover_feed' },
-
:with => "'url=' + escape(value)"
-
%>
Sin embargo yo quería que fuese el usuario el que decidiese cuando "calcular" el valor en cuestión, con lo cual el observe_field no funciona (ya que depende de cuando se cambie el valor del primer campo).
Por tanto me decanté por el helper link_to_remote, sin embargo el problema fue entonces hallar la forma de pasar como argumento el valor del campo. Despues de mucho naufragar en Internet, llegué a que prototype tiene un función $F(), la cual devuelve el valor del campo especificado. La solución entonces quedó de esta forma:
-
<%= link_to_remote( "discover feed",
-
:loading =>"Element.show('fav_spinner')",
-
:complete =>"Element.hide('fav_spinner')",
-
:url => {:action => 'discover_feed'},
-
:with => "'url=' + $F('blog_url')")
-
%>
Thanks a lot , that's what I was looking for... but could find any ddocumentation on it !
I don't write in Spanish, but I can easily read it .... so I'll register to your RSS...
Erwin