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. english • españolRecientemente 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