<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: Rails: ¡Mira mamá! ¡Sin JavaScript!</title>
	<atom:link href="http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/</link>
	<description>Estática sólo para confundir</description>
	<lastBuildDate>Sun, 18 Apr 2010 19:15:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: Ruby on Rails: link_to_remote sin Javascript (noscript) at El blog de Deigote</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-32852</link>
		<dc:creator>Ruby on Rails: link_to_remote sin Javascript (noscript) at El blog de Deigote</dc:creator>
		<pubDate>Fri, 08 Aug 2008 09:38:59 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-32852</guid>
		<description>[...] Recomiendo encarecidamente que si has llegado hasta aquí usando Google leas esta entrada del blog Ruido Blanco que nos apunta su creador en un comentario. Tanto el contenido de la entrada [...]</description>
		<content:encoded><![CDATA[<p>[...] Recomiendo encarecidamente que si has llegado hasta aquí usando Google leas esta entrada del blog Ruido Blanco que nos apunta su creador en un comentario. Tanto el contenido de la entrada [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: deigote</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27584</link>
		<dc:creator>deigote</dc:creator>
		<pubDate>Mon, 04 Feb 2008 21:22:02 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27584</guid>
		<description>¡Me pido Galli! :lol: gracias por las ayudas</description>
		<content:encoded><![CDATA[<p>¡Me pido Galli! <img src='http://ruido-blanco.net/blog/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' />  gracias por las ayudas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27370</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sat, 02 Feb 2008 01:19:55 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27370</guid>
		<description>Por cierto, sigo sin probarlo, pero ese debería ser el fallo que te rompe la cabeza.

Como extra he actualizado un poquillo el artículo para Rails 2 y he incluido un truquito nuevo que he aprendido desde que escribí el artículo.

Gracias por destacar el error y si encuentras algo más mal... pues yo te recomendaría ponerme a caldo en tu blog, en plan Galli vs. Microsiervos.</description>
		<content:encoded><![CDATA[<p>Por cierto, sigo sin probarlo, pero ese debería ser el fallo que te rompe la cabeza.</p>
<p>Como extra he actualizado un poquillo el artículo para Rails 2 y he incluido un truquito nuevo que he aprendido desde que escribí el artículo.</p>
<p>Gracias por destacar el error y si encuentras algo más mal&#8230; pues yo te recomendaría ponerme a caldo en tu blog, en plan Galli vs. Microsiervos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27366</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sat, 02 Feb 2008 00:48:13 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27366</guid>
		<description>Ooops. Eso pasa por no probar el código... &lt;code&gt;delete_project_path&lt;/code&gt; se crea cuando le pedimos un resource a Rails. Lo que yo quería era &quot;otro&quot; &lt;code&gt;delete_project_path&lt;/code&gt; que aceptase &lt;code&gt;GET&lt;/code&gt;. En vez de eso necesitaremos un &lt;code&gt;remove_project_path&lt;/code&gt; o similar.

Voy a modificar el código del artículo para corregirlo. &lt;em&gt;Sorry&lt;/em&gt; por las molestias. Prometo probar mi código antes de escribirlo la próxima vez.</description>
		<content:encoded><![CDATA[<p>Ooops. Eso pasa por no probar el código&#8230; <code>delete_project_path</code> se crea cuando le pedimos un resource a Rails. Lo que yo quería era &#8220;otro&#8221; <code>delete_project_path</code> que aceptase <code>GET</code>. En vez de eso necesitaremos un <code>remove_project_path</code> o similar.</p>
<p>Voy a modificar el código del artículo para corregirlo. <em>Sorry</em> por las molestias. Prometo probar mi código antes de escribirlo la próxima vez.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: deigote</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27337</link>
		<dc:creator>deigote</dc:creator>
		<pubDate>Fri, 01 Feb 2008 11:57:50 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-27337</guid>
		<description>Me quedé con ciertas dudas en la anterior discusión, pero no tenía los conocimientos suficientes para &lt;em&gt;protestar&lt;/em&gt;. Ahora que he hecho mis indagaciones, hay dos cosas que no me quedan claras:

&lt;code&gt; product_path(product),
    :method =&gt; :delete },
    :href =&gt; delete_project_path(project) %&gt;
&lt;/code&gt;

En caso de no tener JS activado, ¿el :href no haría que el enlace actuase como un enlace normal y corriente? Es decir, un enlace que haría un GET y no funcionaría ya que en el controlador estás discriminando para que esa acción sea de tipo POST, o DELETE en el caso del borrado... puede que tenga que ver con que en el controlador tú uses cosas de prototype (creo) y yo lo haga de la otra forma (lo de &lt;em&gt;if request.post?&lt;em&gt;) y demás... el caso es que lo he probado con la acción subscribe que debería se de tipo POST, y al desactivar JS, el enlace no funciona.

&lt;em&gt;Lo que quería comentar ahora es que una acción tipo POST no debería hacer un render, generalmente, debería hacer redirect_to, ya que un usuario podría refrescar la página provocando que crees otro usuario nuevo (creo).&lt;/em&gt; 

Si, esto que dices tiene sentido. Se ve fácilmente si no usas AJAX porque en la URL queda &lt;em&gt;.../subscribe/4&lt;/em&gt; (o delete, lo que sea) a pesar de que el render es el de &lt;em&gt;.../show/4&lt;/em&gt;. Lo que no tengo claro es si actualizar la página hace un GET de esa URL o repite la ultima acción del usuario... Supongo que será esto último, por el mensaje que aparece a veces de tipo &quot;... esta petición contiene POSTDATA ...&quot;. En mi caso, al desactivar JS para probar que sin AJAX todo va bien, no ocurre nada &lt;em&gt;malo&lt;/em&gt; al actualizar, pero es porque estoy usando lo de :href de antes que genera un enlace de tipo GET, como comentaba en mi duda anterior.</description>
		<content:encoded><![CDATA[<p>Me quedé con ciertas dudas en la anterior discusión, pero no tenía los conocimientos suficientes para <em>protestar</em>. Ahora que he hecho mis indagaciones, hay dos cosas que no me quedan claras:</p>
<p><code> product_path(product),<br />
    :method =&gt; :delete },<br />
    :href =&gt; delete_project_path(project) %&gt;<br />
</code></p>
<p>En caso de no tener JS activado, ¿el :href no haría que el enlace actuase como un enlace normal y corriente? Es decir, un enlace que haría un GET y no funcionaría ya que en el controlador estás discriminando para que esa acción sea de tipo POST, o DELETE en el caso del borrado&#8230; puede que tenga que ver con que en el controlador tú uses cosas de prototype (creo) y yo lo haga de la otra forma (lo de <em>if request.post?</em><em>) y demás&#8230; el caso es que lo he probado con la acción subscribe que debería se de tipo POST, y al desactivar JS, el enlace no funciona.</p>
<p></em><em>Lo que quería comentar ahora es que una acción tipo POST no debería hacer un render, generalmente, debería hacer redirect_to, ya que un usuario podría refrescar la página provocando que crees otro usuario nuevo (creo).</em> </p>
<p>Si, esto que dices tiene sentido. Se ve fácilmente si no usas AJAX porque en la URL queda <em>&#8230;/subscribe/4</em> (o delete, lo que sea) a pesar de que el render es el de <em>&#8230;/show/4</em>. Lo que no tengo claro es si actualizar la página hace un GET de esa URL o repite la ultima acción del usuario&#8230; Supongo que será esto último, por el mensaje que aparece a veces de tipo &#8220;&#8230; esta petición contiene POSTDATA &#8230;&#8221;. En mi caso, al desactivar JS para probar que sin AJAX todo va bien, no ocurre nada <em>malo</em> al actualizar, pero es porque estoy usando lo de :href de antes que genera un enlace de tipo GET, como comentaba en mi duda anterior.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-26440</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sun, 13 Jan 2008 13:02:23 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-26440</guid>
		<description>Sin acritud, pero para mí que no has buscado demasiado o mirado las cosas correctamente.

&lt;code&gt;submit_tag&lt;/code&gt; envía el formulario a la acción definida en el &lt;code&gt;form_tag&lt;/code&gt; o &lt;code&gt;form_for&lt;/code&gt;, y es en el código de esa acción (ya en el controlador correspondiente) donde puedes hacer un &lt;code&gt;render&lt;/code&gt; o un &lt;code&gt;redirect_to&lt;/code&gt; de la nueva página que tú deseas.

Cualquier ejemplo básico de Rails (incluso el &lt;em&gt;scaffold&lt;/em&gt; auto-generado) realiza esos pasos tan básicos.</description>
		<content:encoded><![CDATA[<p>Sin acritud, pero para mí que no has buscado demasiado o mirado las cosas correctamente.</p>
<p><code>submit_tag</code> envía el formulario a la acción definida en el <code>form_tag</code> o <code>form_for</code>, y es en el código de esa acción (ya en el controlador correspondiente) donde puedes hacer un <code>render</code> o un <code>redirect_to</code> de la nueva página que tú deseas.</p>
<p>Cualquier ejemplo básico de Rails (incluso el <em>scaffold</em> auto-generado) realiza esos pasos tan básicos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: alberto</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-26380</link>
		<dc:creator>alberto</dc:creator>
		<pubDate>Sat, 12 Jan 2008 13:10:30 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-26380</guid>
		<description>necesito saber y no lo he visto en ninguna de las consulta a diferente paginas web de informacion de rails es como hacer que cuando se hace un sibmit_tag &quot;create&quot; por ejemplo tambien se haga un linK. Lo que quiero decir es que despues de hacer el sumbit_tag me linkee a otra pagina. con el mismo boton.</description>
		<content:encoded><![CDATA[<p>necesito saber y no lo he visto en ninguna de las consulta a diferente paginas web de informacion de rails es como hacer que cuando se hace un sibmit_tag &#8220;create&#8221; por ejemplo tambien se haga un linK. Lo que quiero decir es que despues de hacer el sumbit_tag me linkee a otra pagina. con el mismo boton.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23126</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sat, 17 Nov 2007 00:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23126</guid>
		<description>Verdaderamente es extraño que después de un render o un redirect_to el código siga ejecutando, en vez de salir del método directamente, por eso muchas veces se ve un &lt;code&gt;render ... and return&lt;/code&gt; o similar. Pero como dices, cualquier variable de instancia posterior no se podrá utilizar en una vista &lt;em&gt;renderizada&lt;/em&gt; anteriormente

Lo que quería comentar ahora es que una acción tipo POST no debería hacer un render, generalmente, debería hacer redirect_to, ya que un usuario podría refrescar la página provocando que crees otro usuario nuevo (creo).</description>
		<content:encoded><![CDATA[<p>Verdaderamente es extraño que después de un render o un redirect_to el código siga ejecutando, en vez de salir del método directamente, por eso muchas veces se ve un <code>render ... and return</code> o similar. Pero como dices, cualquier variable de instancia posterior no se podrá utilizar en una vista <em>renderizada</em> anteriormente</p>
<p>Lo que quería comentar ahora es que una acción tipo POST no debería hacer un render, generalmente, debería hacer redirect_to, ya que un usuario podría refrescar la página provocando que crees otro usuario nuevo (creo).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ruby on Rails: link_to_remote sin Javascript (noscript) at Deigote&#8217;s Blog</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23102</link>
		<dc:creator>Ruby on Rails: link_to_remote sin Javascript (noscript) at Deigote&#8217;s Blog</dc:creator>
		<pubDate>Fri, 16 Nov 2007 17:23:43 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23102</guid>
		<description>[...] Edito: Recomiendo encarecidamente que si has llegado hasta aquí usando Google leas esta entrada del blog Ruido Blanco que nos apunta su creador en un comentario. Tanto el contenido de la entrada como las posteriores aclaraciones de los comentarios me han ayudado muchísimo a comprender cómo funciona Rails y incluso el protocolo HTTP [...]</description>
		<content:encoded><![CDATA[<p>[...] Edito: Recomiendo encarecidamente que si has llegado hasta aquí usando Google leas esta entrada del blog Ruido Blanco que nos apunta su creador en un comentario. Tanto el contenido de la entrada como las posteriores aclaraciones de los comentarios me han ayudado muchísimo a comprender cómo funciona Rails y incluso el protocolo HTTP [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: deigote</title>
		<link>http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23101</link>
		<dc:creator>deigote</dc:creator>
		<pubDate>Fri, 16 Nov 2007 17:18:22 +0000</pubDate>
		<guid isPermaLink="false">http://ruido-blanco.net/blog/archivos/2007/03/15/rails-%c2%a1mira-mama-%c2%a1sin-javascript/#comment-23101</guid>
		<description>Hola de nuevo,

He &lt;a href=&quot;http://pastie.caboo.se/118850&quot;&gt;refactorizado tu pastie&lt;/a&gt; porque así el código es menos enrevesado y tiene el mismo significado.

He llegado hasta ese código porque he tenido problemas ya que decidí sacar la condición 
&lt;code&gt;render :layout =&gt; false if request.xhr?&lt;/code&gt;
y ponerla al principio del método, pues era válida también para POST. 

Pero resulta (supongo que tú lo sabes pero quizá algún lector no :) ) que después de un render las variables de instancia no llegan a la vista (es lógico ya que render es un método, pero con esa sintaxis tan rara que tiene ruby no lo tenía tan claro hasta ahora, cuando hacía &lt;em&gt;render :layout =&gt; false&lt;/em&gt; pensaba que simplemente estaba dejando anotada esa condición, pero me acabo de dar cuenta que no, que estaba llamando explícitamente a un método que se llama implícitamente cuando termina un método del controlador).

Esto hacía que algunas cosas que se hacen en la vista no funcionasen como deberían. Así que me dije, ¿para qué hacer &lt;em&gt;if get return&lt;/em&gt; pudiendo hacer simplemente &lt;/em&gt;if post haz cosas&lt;/em&gt;? y así finalmente llamo al método render sin layout siempre que sea AJAX.</description>
		<content:encoded><![CDATA[<p>Hola de nuevo,</p>
<p>He <a href="http://pastie.caboo.se/118850">refactorizado tu pastie</a> porque así el código es menos enrevesado y tiene el mismo significado.</p>
<p>He llegado hasta ese código porque he tenido problemas ya que decidí sacar la condición<br />
<code>render :layout =&gt; false if request.xhr?</code><br />
y ponerla al principio del método, pues era válida también para POST. </p>
<p>Pero resulta (supongo que tú lo sabes pero quizá algún lector no <img src='http://ruido-blanco.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) que después de un render las variables de instancia no llegan a la vista (es lógico ya que render es un método, pero con esa sintaxis tan rara que tiene ruby no lo tenía tan claro hasta ahora, cuando hacía <em>render :layout =&gt; false</em> pensaba que simplemente estaba dejando anotada esa condición, pero me acabo de dar cuenta que no, que estaba llamando explícitamente a un método que se llama implícitamente cuando termina un método del controlador).</p>
<p>Esto hacía que algunas cosas que se hacen en la vista no funcionasen como deberían. Así que me dije, ¿para qué hacer <em>if get return</em> pudiendo hacer simplemente if post haz cosas? y así finalmente llamo al método render sin layout siempre que sea AJAX.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
