<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>@GuateonRails =&#62; Felicidad.find(:all)</title>
	<atom:link href="http://guateonrails.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://guateonrails.com</link>
	<description>Promoviendo el uso de Software Libre para Desarrollo Web</description>
	<lastBuildDate>Wed, 27 Jul 2011 00:45:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Propuesta para #EForo Guatemala 2011</title>
		<link>http://guateonrails.com/2011/07/propuesta-para-eforo-guatemala-2011/</link>
		<comments>http://guateonrails.com/2011/07/propuesta-para-eforo-guatemala-2011/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 19:27:09 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[eForoGT]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Oportunidades]]></category>
		<category><![CDATA[eforo]]></category>
		<category><![CDATA[eforogt]]></category>
		<category><![CDATA[elecciones]]></category>
		<category><![CDATA[foro]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=606</guid>
		<description><![CDATA[¿Buen día amigos, como les va hoy?
Quireo darles las gracias a todos los que me enviaron comentarios sobre el contenido de los videos del Curso de Rails. La otra semana publicaremos el siguiente video así que estén atentos.
#eForo Guatemala
El día 2 de agosto del 2011 se estará celebrando el evento del Foro Virtual 2011 para [...]]]></description>
			<content:encoded><![CDATA[<p>¿Buen día amigos, como les va hoy?</p>
<p>Quireo darles las gracias a todos los que me enviaron comentarios sobre el contenido de los videos del Curso de Rails. La otra semana publicaremos el siguiente video así que estén atentos.</p>
<h2>#eForo Guatemala</h2>
<p>El día 2 de agosto del 2011 se estará celebrando el evento del Foro Virtual 2011 para Presicenciables. El anterior evento fue un rotundo exito, obteniendo mucha tracción en las redes sociales y los medios de comunicación tracionales.</p>
<p>En lo particular el evento me lleno de satisfacción y me dejo con ganas de poder colaborar de alguna manera. Como sabrán mi fuerte es el desarrollo de aplicaciones web, así que en un ataque de inspiración se me vino la idea de generar una aplicación que permita a los participantes virtuales del eForo, calificar cuantitativamente las respuestas de los candidatos.</p>
<p>La idea es simple, si un candidato tiene la palabra y el moderador pregunta:</p>
<p>¿Como hará usted para combatir la delincuencia?+</p>
<p>Y el candidato inicia a responder:</p>
<p>&#8220;Cuando yo era pequeño, leía los chistes de Memín y por eso yo prometo que hoy no, pero mañana si, bla, bla, bla..&#8221;</p>
<p>Los participantes en tiempo real puedan asignarle un punteo a esa respuesta y al hacerlo actualizar a todos los usuarios conectados con el punteo en tiempo real del candidato.</p>
<p>Al finalizar el evento, toda la información recolectada quedará disponible en un formato abierto para su descarga.</p>
<p><strong>Estas son las imagenes del alfa de la aplicación.</strong></p>
<div id="attachment_609" class="wp-caption aligncenter" style="width: 310px"><a href="http://guateonrails.com/wp-content/uploads/2011/07/eforogt-home1.png"><img class="size-medium wp-image-609 " style="margin-top: 10px; margin-bottom: 10px;" title="EForo Guatemala Homepage" src="http://guateonrails.com/wp-content/uploads/2011/07/eforogt-home1-300x162.png" alt="Pagina principal EForoGt" width="300" height="162" /></a><p class="wp-caption-text">Página principal de la aplicación</p></div>
<div id="attachment_610" class="wp-caption aligncenter" style="width: 310px"><a href="http://guateonrails.com/wp-content/uploads/2011/07/eforogt-dashboard.png"><img class="size-medium wp-image-610" title="EForo Guatemala Dashboard Moderador" src="http://guateonrails.com/wp-content/uploads/2011/07/eforogt-dashboard-300x143.png" alt="Panel de Control para Moderador" width="300" height="143" /></a><p class="wp-caption-text">Panel de Control para Moderador</p></div>
<p>Me gustaría saber su opinion sobre la propuesta, cambios a la interfaz o a la funcionalidad. Si hay feedback positivo en una horas subiré esto a la nube y quedará listo para una fase de pruebas de carga. Para lo cual, generariamos un evento ficticio y los que quieran colaborar me ayudarían a encontrarle pelos a la sopa.</p>
<p>Gracias a @EstoesGuate por la inciativa del foro. Son un verdadero ejemplo para todos nosotros.</p>
<p><strong>Fuente</strong></p>
<p>Si desean hacer uso del fuente ya quedó publicado en GitHub (<a href="https://github.com/jalvarezsamayoa/EForoGt">https://github.com/jalvarezsamayoa/EForoGt</a>)</p>
<p><strong> Links</strong></p>
<ul>
<li><a href="http://luisfi61.com/2011/07/19/eforo-de-%C2%A1esto-es-guate-con-candidatos-a-la-alcaldia-de-guatemala/">EForo Candidatos a la Alcaldía</a></li>
<li><a href="http://luisfi61.com/2011/07/20/un-exito-el-eforo-de-%C2%A1esto-es-guate/">EForo Un Exito!</a></li>
<li><a href="http://www.facebook.com/Forovirtual">Página de Facebook &#8211; Foro Virtual</a></li>
<li><a href="http://twitter.com/#!/EstoesGuate">@EstoesGuate en Twitter</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/07/propuesta-para-eforo-guatemala-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Screencast &#8211; CursoRailsGt &#8211; Dia 2</title>
		<link>http://guateonrails.com/2011/07/screencast-cursorailsgt-dia-2/</link>
		<comments>http://guateonrails.com/2011/07/screencast-cursorailsgt-dia-2/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 13:47:03 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Screencasts]]></category>
		<category><![CDATA[aprender]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[español]]></category>
		<category><![CDATA[facil]]></category>
		<category><![CDATA[gratis]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Screencast]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=603</guid>
		<description><![CDATA[Hola a tod@s:
Es grato para mi el poder continuar con esta serie de videos introductorios a Ruby on Rails.
En este segundo día del curso, construimos una pequeña aplicación para cotizar el monto de un prima para un seguro.
No olviden unirse al grupo de facebook o enviarnos un tweet si tienen alguna duda o comentario sobre [...]]]></description>
			<content:encoded><![CDATA[<p>Hola a tod@s:</p>
<p>Es grato para mi el poder continuar con esta serie de videos introductorios a Ruby on Rails.</p>
<p>En este segundo día del curso, construimos una pequeña aplicación para cotizar el monto de un prima para un seguro.</p>
<p>No olviden unirse al grupo de facebook o enviarnos un tweet si tienen alguna duda o comentario sobre el video.</p>
<p>Espero que lo disfruten.</p>
<p><iframe src="http://player.vimeo.com/video/26669866?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="300"></iframe></p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://guides.rubyonrails.org/" target="_blank">Rails Guides</a></li>
<li><a href="http://apidock.com/" target="_blank">Apidock</a></li>
<li><a href="http://www.blueprintcss.org/" target="_blank">Blueprint Css Framework</a></li>
<li><a href="http://www.blueprintcss.org/tests/" target="_blank">Página de Ejemplo Blueprint</a></li>
<li><a href="http://blueprintcss.org/media/BlueprintV0.8byGJMS.pdf" target="_blank">Blueprint Css Cheatsheet<br />
</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/07/screencast-cursorailsgt-dia-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Screencast &#8211; CursoRailsGt &#8211; Dia 1</title>
		<link>http://guateonrails.com/2011/07/cursorailsgt-dia-1/</link>
		<comments>http://guateonrails.com/2011/07/cursorailsgt-dia-1/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 16:13:46 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=593</guid>
		<description><![CDATA[Despues de mucho tiempo de espera, finalmente retomamos nuestros videos sobre Ruby y sobre todo sobre Ruby on Rails.
Gracias a los amigos de la comunidad y en especial a los departamentos de IT de Fianzas y Seguros Universales que nos proporcionaron lugar y donas.
Recuerden unirse a nuestro grupo de Facebook &#8216;Ruby on Rails Guatemala&#8217; para [...]]]></description>
			<content:encoded><![CDATA[<p>Despues de mucho tiempo de espera, finalmente retomamos nuestros videos sobre Ruby y sobre todo sobre Ruby on Rails.</p>
<p>Gracias a los amigos de la comunidad y en especial a los departamentos de IT de <a title="Fianzas Universales Guatemala" href="https://www.segurosuniversales.net/portalnew/index.jsp" target="_blank">Fianzas y Seguros Universales</a> que nos proporcionaron lugar y donas.</p>
<p>Recuerden unirse a nuestro grupo de <a href="http://www.facebook.com/group.php?gid=53771752321" target="_blank">Facebook &#8216;Ruby on Rails Guatemala&#8217; </a>para poder obtener links, tips y compartir con la comunidad.</p>
<p>Les dejo a continuación el video del dia 1.</p>
<p>PS: Llega un momento donde el #fail reina en la velocidad de conección y paso como 10 dias bajando rails. Perdon por eso.</p>
<p><iframe src="http://player.vimeo.com/video/26628908?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="300"></iframe></p>
<p><strong>Links</strong></p>
<ul>
<li><a title="Video CursoRailsGt en Vimeo" href="http://vimeo.com/26628908" target="_blank">Mira y descarga el video desde Vimeo</a></li>
<li><a href="http://rubyonrails.org/" target="_blank">Ruby on Rails</a></li>
<li><a href="http://www.ruby-lang.org/es" target="_blank">Ruby</a></li>
<li><a href="http://bitnami.org/stack/rubystack" target="_blank">Bitnami RubyStack</a></li>
<li><a href="http://apidock.com/" target="_blank">ApiDock</a></li>
<li><a href="http://pragprog.com/book/rails4/agile-web-development-with-rails" target="_blank">Agile web development with Rails (4ta edicion)</a></li>
<li><a href="http://pragprog.com/book/ltp2/learn-to-program" target="_blank">Learn to Program</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/07/cursorailsgt-dia-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tres errores comunes al usar Rails y MySQL</title>
		<link>http://guateonrails.com/2011/02/tres-errores-comunes-al-usar-rails-y-mysql/</link>
		<comments>http://guateonrails.com/2011/02/tres-errores-comunes-al-usar-rails-y-mysql/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 09:53:23 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Consejos]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[Rendimiento]]></category>
		<category><![CDATA[lento]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rapido]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=589</guid>
		<description><![CDATA[Del blog de los amigos de Engine Yard me he topado con un excelente artículo sobre como evitar el bajo rendimiento de Rails al utilizar MySQL. A continuación mi traducción libre del artículo.
(Pueden leer el Post original AQUI)
Tres errores comunes al usar Rails + MySQL
Por Baron Schawartz &#124; Febrero 14, 2011
Rails hace que la interación [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin: 10px;" title="mysqllogo" src="http://www.pangpondblog.com/files/mysql.png" alt="" width="205" height="106" />Del blog de los amigos de Engine Yard me he topado con un excelente artículo sobre como evitar el bajo rendimiento de Rails al utilizar MySQL. A continuación mi traducción libre del artículo.</p>
<p>(Pueden leer el Post original <a href="http://www.engineyard.com/blog/2011/3-common-rails-mysql-mistakes/" target="_blank">AQUI</a>)<span id="more-589"></span></p>
<h1>Tres errores comunes al usar Rails + MySQL</h1>
<p>Por <a href="http://www.engineyard.com/blog/author/baronschwartz/" target="_blank">Baron Schawartz</a> | Febrero 14, 2011</p>
<p>Rails hace que la interación con tu base de datos sea tan simple, que es fácil olvidar que a la base de datos no siempre esta feliz con lo que Rails hace. Aquí hay tres errores comunes, causantes de los mayores dolores de cabeza para aplicaciones Rails.</p>
<p><strong>1. Usar subqueries IN()</strong></p>
<p>MySQL soporta una gran variedad de subqueries. Lamentablemente, uno de ellos es un desastre de rendimiento. Todavía más lamentable,  es que afecta a la forma mas intuitiva de requerir información. Nos estamos refiriendo a las funciónes IN()  y a NOT IN(). Haré notar que hacer uso de IN(lista, de, valores) no tiene problema alguno; el problema se dá con queries de la forma IN(SELECT&#8230;) o de la forma NOT IN(SELECT&#8230;). Estos debería ser subsituidos por JOIN y LEFT OUTER JOIN respectivamente, y de esta manera resolver el serio problema de rendimiento que ocurrirá cuando la data de tus tablas crezca.</p>
<p><strong>2. Utilizar un SELECT FOR UPDATE</strong></p>
<p>Otro problema común es el hacer &#8220;lock&#8221; sobre los registros  para que nadie puede trabajar en ellos más que nosotros. Un patrón donde esto de manifiesta es en una cola. Cualquier cosa que tenga una lista de tareas, y que trate de reservar algunos registros ejecutando un SELECT FOR UPDATE, termina introduciendo un punto de serialización que forza a todo el trabajo a ocurrir en una sola fila de ejecución, en lugar de dejar que la tareas se ejecuten concurrente mente.  La solución para este problema es utilizar un identificador único para cada proceso, y proseguir con UPDATE para todos los otros registros para los que no necesitamos un &#8220;lock&#8221;. La instrucción UPDATE regresará entonces un número de registros modificados, y si estos son mayores que cero, entonces has realizado &#8220;lock&#8221; sobre estos y puedes entonces ejecutar un SELECT sobre ellos. Aseguraté de ejecutar lo anterior utilizando el modo de auto-commit o ejecutando un commit inmediatemente despues del UPDATE, esto para asegurarte que no termines con dead locks sobre los registros seleccionados, volviendo a generar el mismo problema que tratas de solucionar.</p>
<p><strong>3. Usar MySQL para almacenar tu data de sesión</strong></p>
<p>Es muy fácil utilizar MySQL para almacenar la data de tu sesión. Desafortunadamente en la mayoría de los casos es una de las tareas que más recursos consumen en tu aplicación. Hemos visto muchos casos donde la tabla de usuarios es la tabla que más queries recibe. Con toda la información de sesiones que se produce, la aplicaciones dejan de responder apropiadamente, quitando recursos de los proceso principales de tu aplicación. Sugerimos utilizar Memcached en lugar de MySQL para almacenar data de sesiones. Es muy rápido ya que no se preocupa por le persistencia o la transaccionalidad de la información que maneja.</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://www.mysql.com/" target="_blank">Base de datos MySQL</a></li>
<li><a href="http://memcached.org/" target="_blank">Memcahed.org</a></li>
<li><a href="http://www.engineyard.com/" target="_blank">Engine Yard</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/tres-errores-comunes-al-usar-rails-y-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>faker : Facilitando tu carga inicial de datos</title>
		<link>http://guateonrails.com/2011/02/faker-facilitando-tu-carga-inicial-de-datos/</link>
		<comments>http://guateonrails.com/2011/02/faker-facilitando-tu-carga-inicial-de-datos/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 10:44:27 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[escalar]]></category>
		<category><![CDATA[faker]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[migraciones]]></category>
		<category><![CDATA[migrar]]></category>
		<category><![CDATA[migrate]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Postgresql]]></category>
		<category><![CDATA[pruebas]]></category>
		<category><![CDATA[scale]]></category>
		<category><![CDATA[seed]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=577</guid>
		<description><![CDATA[Hola Gente como les va!!
Esta semana les traigo otra gema para su caja de herramientas. Se trata de faker, una gema que les permite generar datos de prueba para ser cargados a su base de datos y de esa manera facilitar el desarrollo de su aplicación.
Ya en su versión 0.9.5, faker es una herramienta indispensable [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/stympy/faker" target="_blank"><img class="alignleft" style="margin: 10px;" title="fakerimage" src="http://nerdcityonline.com/wp-content/uploads/2008/10/faker_cu.jpg" alt="" width="230" height="186" /></a>Hola Gente como les va!!</p>
<p>Esta semana les traigo otra gema para su caja de herramientas. <a href="https://github.com/stympy/faker" target="_blank">Se trata de </a><strong><a href="https://github.com/stympy/faker" target="_blank">faker</a>,</strong> una gema que les permite generar datos de prueba para ser cargados a su base de datos y de esa manera facilitar el desarrollo de su aplicación.</p>
<p>Ya en su versión 0.9.5, faker es una herramienta indispensable para el correcto desarrollo de tu aplicación.</p>
<blockquote><p>¿Pero, y de que me sirve esto? Si yo solo me basto para ingresar un par de registros para saber que todo esta bien.</p></blockquote>
<p>Bueno&#8230; pero tal vez no haz considerado el hecho de que si tu aplicación ha de ser usada por miles de personas es muy probable que el comportamiento no sea el mismo que solo con un par de registros.<span id="more-577"></span></p>
<p>Para darte unos ejemplos, asume que tienes una aplicación que te permite grabar una lista de contactos. Y claro esta le metes los campos de rigor a tu tabla de contactos incluyendo dirección y un campo de descripción o comentarios.  Bueno ya que has trabajado tu estilo para que te quede bonito y has ingresado tus dos datos de prueba sueltas la aplicación a producción. Y para tu mala suerte (ver Leyes de Murphy) tu usuario ingresa una dirección que es demasiado larga para el espacio que les asignado, y para terminar de arruinarte el día, descide que es buena idea ingresar todo el texto de la Iliada en su campo de descripción. Como supondras todo tu bello diseño se va por el drenaje porque nada queda donde tu creias o donde tus dos registros de prueba te dijeron que todo quedaría bien.</p>
<p>Un segundo ejemplo es el caso donde solo tienes unos pocos registros en tu base de datos y claro como tu aplicación es lo máximo llegas a tener unos cuantos miles de datos. Y de nuevo te das con la sorpresa que ese método maravilloso de búsqueda no escala bien, y tu aplicación se vuelve dolorosamente lenta. Al punto donde tus usuarios se molestan, te abandonan y mueres viejo, pobre y abandonado. <img src='http://guateonrails.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />   Todo por solo usar un par de registros para tus pruebas.</p>
<p>Suficiente melodrama! ¿Como hago para no morir viejo,  pobre y abandonado?</p>
<p><strong>INSTALACION</strong></p>
<p>Crea una aplicación en Rails 3</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ rails new agenda
$ <span style="color: #7a0874; font-weight: bold;">cd</span> agenda<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Generemos una tabla de contactos</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ rails g scaffold contacto nombre:string telefono:string direccion:string ciudad:string descripcion:text email:string
$ rake db:migrate</pre></div></div>

<p>Listo! Ahora como le adjuntamos la data?</p>
<p>Agrega el gem a tu Gemfile</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gem faker</pre></div></div>

<p>Instala con Bundler</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ bundle <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p><strong>CONFIGURACION</strong></p>
<p>Ingresa a tu archivo de seed.rb</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ emacs <span style="color: #000000; font-weight: bold;">/</span>tuaplicacion<span style="color: #000000; font-weight: bold;">/</span>db<span style="color: #000000; font-weight: bold;">/</span>seeds.rb</pre></div></div>

<p>Y configura alguno datos falsos. En nuesro caso vamos a generar 100 datos falsos para nuestros contactos</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#iniciamos el ciclo</span>
<span style="color:#006666;">100</span>.<span style="color:#9900CC;">times</span> <span style="color:#9966CC; font-weight:bold;">do</span>
&nbsp;
contacto = Contacto.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:nombre</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#6666ff; font-weight:bold;">Faker::Name</span>.<span style="color:#9900CC;">name</span>,
<span style="color:#ff3333; font-weight:bold;">:telefono</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#6666ff; font-weight:bold;">Faker::PhoneNumber</span>.<span style="color:#9900CC;">phone_number</span>,
<span style="color:#ff3333; font-weight:bold;">:direccion</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#6666ff; font-weight:bold;">Faker::Address</span>.<span style="color:#9900CC;">street_address</span>,
<span style="color:#ff3333; font-weight:bold;">:email</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#6666ff; font-weight:bold;">Faker::Internet</span>.<span style="color:#9900CC;">free_email</span>,
<span style="color:#ff3333; font-weight:bold;">:descripcion</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#6666ff; font-weight:bold;">Faker::Lorem</span>.<span style="color:#9900CC;">paragraph</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
contacto.<span style="color:#9900CC;">save</span>!
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Con esto basta. Ahora solo tenemos que correr nuestro seed para cargar la informacion</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ rake db:seed</pre></div></div>

<p>Listo! Ahora tu tabla tiene información suficiente para que tus pruebas sean mas acertadas. No olvides revisar la documentación de la gema para ver todas la opciones que te ofrece.</p>
<p>Allí me cuentan como les fue <img src='http://guateonrails.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://faker.rubyforge.org/" target="_blank">Página del proyecto</a></li>
<li><a href="http://faker.rubyforge.org/rdoc/" target="_blank">Documentación de la gema</a></li>
<li><a href="https://github.com/stympy/faker" target="_blank">Código fuente en Github</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/faker-facilitando-tu-carga-inicial-de-datos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HopToad : Monitoreo de Errores en Producción</title>
		<link>http://guateonrails.com/2011/02/hoptoad-monitoreo-de-errores-en-produccion/</link>
		<comments>http://guateonrails.com/2011/02/hoptoad-monitoreo-de-errores-en-produccion/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 15:46:47 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[errores]]></category>
		<category><![CDATA[Exceptions]]></category>
		<category><![CDATA[Exepciones]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Montitoreo]]></category>
		<category><![CDATA[Notificaciones]]></category>
		<category><![CDATA[Notifications]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Servicio]]></category>
		<category><![CDATA[Terceros]]></category>
		<category><![CDATA[Third party]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=567</guid>
		<description><![CDATA[
Una de las cosas que mas dolores de cabeza me ha traido es el recibir una llamada de un cliente diciendo
Fijese que la aplicación fallo&#8230;.
Y claro está cuando le preguntamos cual es el error, nos dicen
Solo me salio un mensaje de &#8220;Something went wrong&#8230;&#8221; y no se que mas&#8230;
El día de hoy les voy a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://hoptoadapp.com/pages/home"><img class="aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="HopToadApp.com" src="http://www.logicaldecay.com/wp-content/uploads/2009/10/2009-7-6-hoptoad-logo.png" alt="Logo HopToadApp" width="453" height="181" /></a></p>
<p>Una de las cosas que mas dolores de cabeza me ha traido es el recibir una llamada de un cliente diciendo</p>
<blockquote><p>Fijese que la aplicación fallo&#8230;.</p></blockquote>
<p>Y claro está cuando le preguntamos cual es el error, nos dicen</p>
<blockquote><p>Solo me salio un mensaje de &#8220;Something went wrong&#8230;&#8221; y no se que mas&#8230;</p></blockquote>
<p>El día de hoy les voy a presentar a <a href="http://hoptoadapp.com/" target="_blank">HopToad</a>, un plugin / servicio que no ayuda a saber que quiere decir nuestro cliente.</p>
<p><span id="more-567"></span>HopToad, es un servicio el cual se acopla a nuestra aplicación por medio de un plugin. La idea del servicio es que cuando tu aplicación genere una excepción, además de tu página de error, un mensaje es enviado tanto a una aplicación en la nube como a tu cuenta de correo notificandote de que hubo un error. Luego tú como buen desarrollador revisas en tu cuenta de hoptoad el número de ticket para poder ver el detalle de que fue lo que ocurrio.</p>
<p>¡A que no es lo mejor que les ha pasado!</p>
<p>He aqui un ejemplo de el listado de errores que tengo que revisar de OpenWolf.</p>
<p style="text-align: center;"><a href="http://guateonrails.com/wp-content/uploads/2011/02/hoptoad_error.png"><img class="aligncenter size-full wp-image-570" title="hoptoad_error" src="http://guateonrails.com/wp-content/uploads/2011/02/hoptoad_error.png" alt="Screenshot error hoptoad" width="363" height="168" /></a></p>
<p style="text-align: center;">
<p><strong>INSTALACION</strong></p>
<p>Lo primero que tienes que hacer es generar una cuenta en la página principal de HopToad. Como supondrás el servicio que ofrecen es págado, sin embargo tienen una opción gratuita escondida en la parte inferior de la página, bajo la opción de</p>
<blockquote><p>Or choose the Egg plan for Free (1 Project, 1 User, 5 Rate Limit) <a title="Sign up for Egg!" href="https://hoptoadapp.com/account/new/Egg">Signup</a></p></blockquote>
<p>La cual es mas que suficiente para la mayoría de proyectos.</p>
<p>Al tener tu cuenta creada deberás instalar el plugín tal como te lo indica la primera pantalla que veras. Fijate bien que estas eligiendo la versión de rails que utilizas ya que no es lo mismo configurarla para Rails 2.x que para Rails 3.x.</p>
<p>Para instalarlo en un aplicación Rails 3 tienes que hacer lo siguiente</p>
<p>1. Agregar la gema hoptoad_notifier a tu Gemfile:</p>
<pre class="ruby"> gem "hoptoad_notifier", "~&gt; 2.3"</pre>
<p>2. Desde la raiz de tu proyecto, corre:</p>
<pre class="bash">bundle install
script/rails generate hoptoad --api-key-de-tu-aplicacion</pre>
<p>Y eso es todo! Al correr este proceso verás un montón de texto corriendo en tu consola. Esto es la prueba de que hoptoad pudo comunicarse con sus servers y que tu debería de recibir tu primer ticket en tu panel de control.</p>
<p>Hoptoad tambien incluye la opción experimental de monitorear el comportamiento de tu código en javascript. Lo cual es bastante útil, especialmente si lo usas mucho para tu UI.</p>
<p>Monitoreo de Javascript</p>
<p>Para incluir el monitoreo de Javascript en tus páginas, debes incluir este helper en el layout correspondiente:</p>
<pre class="ruby">&lt;%= hoptoad_javascript_notifier %&gt;</pre>
<p>Pon atención de incluirlo ANTES de cualquier otro requerimiento de Javascript.</p>
<pre class="html ruby"><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;meta charset="utf8"&gt;
    &lt;%= hoptoad_javascript_notifier %&gt;
    &lt;!-- more javascript --&gt;
  &lt;/head&gt;
  &lt;body&gt;
    ...
  &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>Bueno espero que esto les sea de ayuda para mitigar esos molestos dolores de cabeza. Alli me cuentan como les va <img src='http://guateonrails.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Links:</p>
<ul>
<li><a href="http://hoptoadapp.com" target="_blank">Página principal HopToad</a></li>
<li><a href="https://github.com/thoughtbot/hoptoad_notifier" target="_blank">hoptoad_notifier gem en Github</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/hoptoad-monitoreo-de-errores-en-produccion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentación proyecto OpenWolf</title>
		<link>http://guateonrails.com/2011/02/presentacion-proyecto-openwolf/</link>
		<comments>http://guateonrails.com/2011/02/presentacion-proyecto-openwolf/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 21:20:35 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[OpenWOLF]]></category>
		<category><![CDATA[comunidad]]></category>
		<category><![CDATA[Egob]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[Gobierno]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[gpl3]]></category>
		<category><![CDATA[Guatemala]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=558</guid>
		<description><![CDATA[OpenWolf es el primer proyecto de software libre ( a mi conocimiento&#8230;. ) en uso por el Gobierno de la Républica de Guatemala. La idea del proyecto es dar solución a los requerimientos de la Ley de Acceso a la Información Pública y partiendo de eso pretende brindar otros servicios de gobierno eléctrócico.
A continuación pueden [...]]]></description>
			<content:encoded><![CDATA[<p>OpenWolf es el primer proyecto de software libre ( a mi conocimiento&#8230;. ) en uso por el Gobierno de la Républica de Guatemala. La idea del proyecto es dar solución a los requerimientos de la Ley de Acceso a la Información Pública y partiendo de eso pretende brindar otros servicios de gobierno eléctrócico.</p>
<p>A continuación pueden ver los slides de la presentación dada hace algúnos meses a la mésa ejecutiva del gobierno para darles a conocer el proyecto.</p>
<p>Actualmente OpenWolf se encuentra en uso por 8 secretarías del Poder Ejecutivo y está en buen camino de ser usado por más.</p>
<div id="__ss_4887647" style="width: 425px;"><strong><a title="Openwolf" href="http://www.slideshare.net/jalvarezsamayoa/openwolf">Openwolf</a></strong><object id="__sse4887647" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openwolf-100802063657-phpapp02&amp;stripped_title=openwolf&amp;userName=jalvarezsamayoa" /><param name="name" value="__sse4887647" /><param name="allowfullscreen" value="true" /><embed id="__sse4887647" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openwolf-100802063657-phpapp02&amp;stripped_title=openwolf&amp;userName=jalvarezsamayoa" name="__sse4887647" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/jalvarezsamayoa">Javier Alvarez</a>.</div>
</div>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://openwolf.org" target="_blank">Página del proyecto</a></li>
<li><a href="http://transparencia.gob.gt" target="_blank">Portal de transparencia (OpenWolf en producción)</a></li>
<li><a href="http://gitorious.org/openwolf" target="_blank">Fuente Openwolf</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/presentacion-proyecto-openwolf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>admin_data : Administra tu información desde el Browser</title>
		<link>http://guateonrails.com/2011/02/admin_data-administra-tu-informacion-desde-el-browser/</link>
		<comments>http://guateonrails.com/2011/02/admin_data-administra-tu-informacion-desde-el-browser/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 18:45:50 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[Administracion]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Bases de datos]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=536</guid>
		<description><![CDATA[Ya desde hace algún tiempo que vengo con la cosquilla de mostrarles algunas de las herramientas que se utilizán en verdaderos ambientes de producción. No es por menospreciar el trabajo que muchos desarrolladores hacen, pero al tener la oportunidad de trabajar o platicar con muchos de ellos, te das cuenta que su mayor problema es [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://guateonrails.com/wp-content/uploads/2011/02/Selection_001.png"><img class="alignleft size-thumbnail wp-image-539" style="margin-left: 10px; margin-right: 10px;" title="admin_data browse" src="http://guateonrails.com/wp-content/uploads/2011/02/Selection_001-150x150.png" alt="" width="150" height="150" /></a>Ya desde hace algún tiempo que vengo con la cosquilla de mostrarles algunas de las herramientas que se utilizán en verdaderos ambientes de producción. No es por menospreciar el trabajo que muchos desarrolladores hacen, pero al tener la oportunidad de trabajar o platicar con muchos de ellos, te das cuenta que su mayor problema es que lo están haciendo todo desde cero. Construyendo sus propias herramientas en lugar de re utilizar código que ya está disponible y normalmente es de mucho mejor calidad que cualquier cosa que podamos producir por nuestra cuenta.</p>
<p>Una de estas herramientas es <a href="https://github.com/neerajdotname/admin_data" target="_blank">admin_data</a>.</p>
<p><span id="more-536"></span></p>
<p><a title="admin_data plugin en GitHub" href="https://github.com/neerajdotname/admin_data" target="_blank">admin_data</a> es un plugin el cual agrega un módulo para la admistración de los datos de tu base de datos, el cual puedes usar desde el browser. Esto mis amigos es un super WIN!!! Si alguna vez han liberado algo a producción se habrán topado con el problema de tocar UN solo dato para hacer un AJUSTE MAGICO. Y por la <a href="http://es.wikipedia.org/wiki/Ley_de_Murphy" target="_blank">Ley de Murphy</a> eso significa que están corriendo, y lejos de su máquina de desarrollo. Es más!! Es posible que solo tengan <a href="http://www.frikipedia.es/friki/Windows" target="_blank">Windows</a> para trabajar. NOOOOOOOOOOOOOOO!!!!!!!!!!</p>
<p>Bueno&#8230; tranquilo aqui esta admin_data para salvarte. <img src='http://guateonrails.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://guateonrails.com/wp-content/uploads/2011/02/Selection_001.png"><img class="aligncenter size-medium wp-image-539" title="admin_data browse" src="http://guateonrails.com/wp-content/uploads/2011/02/Selection_001-300x178.png" alt="" width="300" height="178" /></a></p>
<p><strong>INSTALACION</strong></p>
<p>Para instalar el plugin en Rails 3 solo tienes que agregar la declaración en tu <strong>GemFile.</strong> Y posteriormente la instalas con Bundler.</p>
<pre name='code' class='bash'>
$ gem 'admin_data'
$ bundle install
</pre>
<p>Y listo!!! Ya lo tienes instalado.</p>
<p>Ahora ve a tu browser y pon el url:</p>
<p><code>http://localhost:3000/admin_data<br />
</code><br />
<a href="http://guateonrails.com/wp-content/uploads/2011/02/Selection_002.png"><img class="aligncenter size-medium wp-image-540" title="admin_data record" src="http://guateonrails.com/wp-content/uploads/2011/02/Selection_002-300x174.png" alt="" width="300" height="174" /></a></p>
<p><strong>CONFIGURACION</strong></p>
<p>Para configurar admin_data es necesario que agregues un archivo de configuracion en:</p>
<p><code>$ tuaplicacion/config/initializers/admin_data.rb</code></p>
<p>Dentro de este archivo puede especificar opciones como por ejemplo cuantos registros se muestran por default o que usuarios tienen acceso al módulo.</p>
<p>Por ejemplo para configurar el número de registros por página agregarias:</p>
<pre name='code' class='ruby'>
AdminData.config do |config|
  config.number_of_records_per_page = 50
end
</pre>
<p><strong>SEGURIDAD</strong></p>
<p>Por defautl admin_data no está disponible en ambientes de producción. Esto hace sentido porque no quieres que nadie le esté metiendo las manos directamente a tus registros. Pero para casos donde un super administrador necesita tocar algo, puedes configurarlo de esta manera. Pón atención de que los métodos &#8216;hay_usuario_autenticado?&#8217; y &#8216;usuario_actual_es_superadmin?&#8217; son helper methods que debes agregar a tu application controller.</p>
<pre name='code' class='ruby'>
AdminData.config do |config|
  config.is_allowed_to_view = lambda {|controller| controller.send('hay_usuario_autenticado?') }
  config.is_allowed_to_update = lambda {|controller| controller.send('usuario_actual_es_superadmin?') }
end
</pre>
<p>Ok. Espero que esto les sea de utilidad para su día a día. No se olviden de dejar su dudas o comentarios para mejorar el contedido del blog.</p>
<p>Saludos o/</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="https://github.com/neerajdotname/admin_data" target="_blank">admin_data en Github</a></li>
<li><a href="http://admin-data-demo.heroku.com/admin_data" target="_blank">Un ejemplo de admin_data en uso.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/admin_data-administra-tu-informacion-desde-el-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reviviendo&#8230;</title>
		<link>http://guateonrails.com/2011/02/reviviendo/</link>
		<comments>http://guateonrails.com/2011/02/reviviendo/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 17:30:17 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[Guatemala]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=533</guid>
		<description><![CDATA[ ¡Hola Amigos!
Despues de varios meses de ausencia estamos de vuelta   Yeeee!!!
Tengo muchas cosas de las cuales platicarles, en especial ahora que Rails 3 ha sido liberado.
Estén pendiente ya que tenemos un montón de fantasticas herramientas para mejorar su productividad o la calidad de su código.
Así que ánimo que ya estamos de vuelta!!!
]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin: 10px;" title="weareopen" src="http://www.stmattsmanly.org.au/youthie/userimages/1279690787_open.jpg" alt="" width="168" height="134" /> ¡Hola Amigos!</p>
<p>Despues de varios meses de ausencia estamos de vuelta <img src='http://guateonrails.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Yeeee!!!</p>
<p>Tengo muchas cosas de las cuales platicarles, en especial ahora que Rails 3 ha sido liberado.</p>
<p>Estén pendiente ya que tenemos un montón de fantasticas herramientas para mejorar su productividad o la calidad de su código.</p>
<p>Así que ánimo que ya estamos de vuelta!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2011/02/reviviendo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Previniendo errores de columnas duplicadas en migraciones</title>
		<link>http://guateonrails.com/2010/05/previniendo-errores-de-columnas-duplicadas-en-migraciones/</link>
		<comments>http://guateonrails.com/2010/05/previniendo-errores-de-columnas-duplicadas-en-migraciones/#comments</comments>
		<pubDate>Tue, 11 May 2010 17:02:40 +0000</pubDate>
		<dc:creator>Javier Alvarez</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[column]]></category>
		<category><![CDATA[consejo]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[errores]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://guateonrails.com/?p=517</guid>
		<description><![CDATA[¿Alguna vez se han topado con este error al correr sus migraciones?
Duplicate column migration error&#8230;
Esto normalmente es una buena señal, ya que nos previene de tropezarnos con nuestros propios pies. Sin embargo cuando trabajamos en equipo y con múltiples branches, esto se convierte en algo relativamente habitual (&#8230; un dolor :@).
Una forma sencilla de corregir [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin: 10px;" title="trainfail" src="http://recruiter.files.wordpress.com/2009/03/allaboardthefailtraincojr9.jpg?w=600&amp;h=370" alt="" width="176" height="109" />¿Alguna vez se han topado con este error al correr sus migraciones?</p>
<blockquote><p>Duplicate column migration error&#8230;</p></blockquote>
<p>Esto normalmente es una buena señal, ya que nos previene de tropezarnos con nuestros propios pies. Sin embargo cuando trabajamos en equipo y con múltiples branches, esto se convierte en algo relativamente habitual (&#8230; un dolor :@).<span id="more-517"></span></p>
<p>Una forma sencilla de corregir esto, es activando un bloque de captura de errores el cual enviará cualquier mensaje de error al limbo. Ojo! Usen esto solamente si saben que la migración que ejecutan ya fue ejecutada en su base de datos, de otra manera nunca se enterarán si la migración fue ejecutada con éxito.</p>
<p>Ejemplo:</p>
<pre class="ruby">class AddCCEmailToUsers &lt; ActiveRecord::Migration
  def self.up
    add_column :usuarios, :email_cc, :string rescue nil
  end
end</pre>
<p>Espero que les sea de utilidad</p>
]]></content:encoded>
			<wfw:commentRss>http://guateonrails.com/2010/05/previniendo-errores-de-columnas-duplicadas-en-migraciones/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

