<?xml version="1.0" encoding="ISO-8859-1"?><!-- generator="wordpress/2.3-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: ActiveRecord::RecordNotFound</title>
	<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/</link>
	<description>desarrollo web con estándares</description>
	<pubDate>Tue, 16 Mar 2010 18:29:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3-alpha</generator>

	<item>
		<title>By: quikemix</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-65485</link>
		<author>quikemix</author>
		<pubDate>Tue, 23 Jun 2009 04:22:34 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-65485</guid>
		<description>si estoy usando el activescaffold como atrapo ese error
en el metodo show???</description>
		<content:encoded><![CDATA[<p>si estoy usando el activescaffold como atrapo ese error<br />
en el metodo show???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EstadoBeta &#187; Archivo &#187; Plugin Rails: sluggable_finder</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-27153</link>
		<author>EstadoBeta &#187; Archivo &#187; Plugin Rails: sluggable_finder</author>
		<pubDate>Wed, 19 Mar 2008 10:59:01 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-27153</guid>
		<description>[...] Las ID&#8217;s en una base de datos debieran ser únicas; Rails aprovecha esto y por convención emite una excepción ActiveRecord::RecordNotFound si el objeto con esa ID no existe. Esto es útil porque podemos usar esa particularidad del método find para normalizar nuestro manejo de errores. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Las ID&#8217;s en una base de datos debieran ser únicas; Rails aprovecha esto y por convención emite una excepción ActiveRecord::RecordNotFound si el objeto con esa ID no existe. Esto es útil porque podemos usar esa particularidad del método find para normalizar nuestro manejo de errores. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EstadoBeta &#187; Archivo &#187; Rails 2.0 Preview Release</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-20583</link>
		<author>EstadoBeta &#187; Archivo &#187; Rails 2.0 Preview Release</author>
		<pubDate>Tue, 02 Oct 2007 13:06:23 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-20583</guid>
		<description>[...] con excepciones como ActiveRecord::RecordNotFound, desde interceptarlas en cada acci&#243;n hasta capturarlas en un s&#243;lo punto con rescue_action_in_public. Ahora, ActionController provee una macro para definir m&#233;todos [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] con excepciones como ActiveRecord::RecordNotFound, desde interceptarlas en cada acci&oacute;n hasta capturarlas en un s&oacute;lo punto con rescue_action_in_public. Ahora, ActionController provee una macro para definir m&eacute;todos [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ismael</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-18818</link>
		<author>Ismael</author>
		<pubDate>Fri, 17 Aug 2007 21:09:53 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-18818</guid>
		<description>Lo anterior sólo funciona si usas &lt;code&gt;ActiveRecord:.Base#find&lt;/code&gt;, pasándole una ID como único argumento. Si quieres usar otro campo como (como el nombre o "permalink") y mantener este patrón de diseño, puedes usar mi plugin &lt;a href="http://www.estadobeta.com/2007/07/27/plugin-rails-sluggable_finder/" rel="nofollow"&gt;sluggable_finder&lt;/a&gt; :)</description>
		<content:encoded><![CDATA[<p>Lo anterior sólo funciona si usas <code>ActiveRecord:.Base#find</code>, pasándole una ID como único argumento. Si quieres usar otro campo como (como el nombre o &#8220;permalink&#8221;) y mantener este patrón de diseño, puedes usar mi plugin <a href="http://www.estadobeta.com/2007/07/27/plugin-rails-sluggable_finder/" rel="nofollow">sluggable_finder</a> <img src='http://www.estadobeta.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ismael</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-17669</link>
		<author>Ismael</author>
		<pubDate>Sun, 22 Jul 2007 06:08:40 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-17669</guid>
		<description>Lo más limpio es no hacer nada en el controlador:

&lt;code&gt;
def show
  @product = Product.find( params[:id] )
end
&lt;/code&gt;

En tu application controller usas &lt;code&gt;rescue_action_in_public&lt;/code&gt; para atrapar las excepciones de tipo RecordNotFound y presentar la página de error correspondiente.
&lt;pre&gt;
&lt;code&gt;
def rescue_action_in_public(exception)
  case exception
    when ActiveRecord::RecordNotFound
      # .. redirección, pag, de error, etc.
    else
      super
  end
end
&lt;/code&gt;
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Lo más limpio es no hacer nada en el controlador:</p>
<p><code><br />
def show<br />
  @product = Product.find( params[:id] )<br />
end<br />
</code></p>
<p>En tu application controller usas <code>rescue_action_in_public</code> para atrapar las excepciones de tipo RecordNotFound y presentar la página de error correspondiente.</p>
<pre>
<code>
def rescue_action_in_public(exception)
  case exception
    when ActiveRecord::RecordNotFound
      # .. redirección, pag, de error, etc.
    else
      super
  end
end
</code>
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beto</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13127</link>
		<author>Beto</author>
		<pubDate>Sat, 02 Jun 2007 07:21:35 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13127</guid>
		<description>Bueno porque considero que es la solución más limpia y eficiente para resolver el problema. Además que extender la clase ActiveRecord para solucionar este problema (pequeño por lo demas) como que no me gusta de onda.. xD.</description>
		<content:encoded><![CDATA[<p>Bueno porque considero que es la solución más limpia y eficiente para resolver el problema. Además que extender la clase ActiveRecord para solucionar este problema (pequeño por lo demas) como que no me gusta de onda.. xD.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ismael</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13036</link>
		<author>Ismael</author>
		<pubDate>Fri, 01 Jun 2007 23:21:22 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13036</guid>
		<description>:)</description>
		<content:encoded><![CDATA[<p> <img src='http://www.estadobeta.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hector Vergara R.</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13024</link>
		<author>Hector Vergara R.</author>
		<pubDate>Fri, 01 Jun 2007 22:09:38 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-13024</guid>
		<description>Beto: por qué? Beto ha saber?</description>
		<content:encoded><![CDATA[<p>Beto: por qué? Beto ha saber?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beto</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-12352</link>
		<author>Beto</author>
		<pubDate>Wed, 30 May 2007 05:55:11 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-12352</guid>
		<description>Definitivamente el try catch de Ismael es la mejor solucion.</description>
		<content:encoded><![CDATA[<p>Definitivamente el try catch de Ismael es la mejor solucion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ismael</title>
		<link>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-12124</link>
		<author>Ismael</author>
		<pubDate>Fri, 25 May 2007 16:10:32 +0000</pubDate>
		<guid>http://www.estadobeta.com/2007/05/06/activerecordrecordnotfound/#comment-12124</guid>
		<description>SI, pero eso por defecto envía un error 500 al browser. Si el usuario no encuentra lo que estás buscando, probablemente quieres envíar un error 404 ("página no encontrada") y tener más control sobre el diseño de la página de error. por ejemplo: mostrar información relacionada, un buscador, el mapa del sitio, etc.</description>
		<content:encoded><![CDATA[<p>SI, pero eso por defecto envía un error 500 al browser. Si el usuario no encuentra lo que estás buscando, probablemente quieres envíar un error 404 (&#8221;página no encontrada&#8221;) y tener más control sobre el diseño de la página de error. por ejemplo: mostrar información relacionada, un buscador, el mapa del sitio, etc.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
