<?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"
	>
<channel>
	<title>Comentarios en: Controladores Polimórficos y Ruby on Rails</title>
	<atom:link href="http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/</link>
	<description>Blog de Isaac Feliu, Emprendedor</description>
	<pubDate>Fri, 21 Nov 2008 03:16:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>Por: Elías</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-98</link>
		<dc:creator>Elías</dc:creator>
		<pubDate>Mon, 22 Sep 2008 16:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-98</guid>
		<description>Y no solo los controladores sino también las vistas tienen que cambiar pues tal vez quiera desplegar elementos adicionales dependiendo del caso.</description>
		<content:encoded><![CDATA[<p>Y no solo los controladores sino también las vistas tienen que cambiar pues tal vez quiera desplegar elementos adicionales dependiendo del caso.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elías</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-97</link>
		<dc:creator>Elías</dc:creator>
		<pubDate>Mon, 22 Sep 2008 15:47:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-97</guid>
		<description>Isaac tienes algún correo donde se te pueda contactar?</description>
		<content:encoded><![CDATA[<p>Isaac tienes algún correo donde se te pueda contactar?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elías</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-96</link>
		<dc:creator>Elías</dc:creator>
		<pubDate>Mon, 22 Sep 2008 05:41:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-96</guid>
		<description>Hola,

Estoy desesperado por una solución buena para este problema. Yo en mi caso tengo un controlador posts y tengo rutas como 

users/1/posts
groups/2/posts
category/1/posts
tags/1/posts

Es decir el controlador posts en su acción index, debería ejecutar una acción dependiendo de la ruta. Y además la vista también debe ser diferente.

Esperamos tu solución con ansias,

Elías</description>
		<content:encoded><![CDATA[<p>Hola,</p>
<p>Estoy desesperado por una solución buena para este problema. Yo en mi caso tengo un controlador posts y tengo rutas como </p>
<p>users/1/posts<br />
groups/2/posts<br />
category/1/posts<br />
tags/1/posts</p>
<p>Es decir el controlador posts en su acción index, debería ejecutar una acción dependiendo de la ruta. Y además la vista también debe ser diferente.</p>
<p>Esperamos tu solución con ansias,</p>
<p>Elías</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elías</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-95</link>
		<dc:creator>Elías</dc:creator>
		<pubDate>Mon, 22 Sep 2008 03:33:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-95</guid>
		<description>y esperando...</description>
		<content:encoded><![CDATA[<p>y esperando&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Elías</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-94</link>
		<dc:creator>Elías</dc:creator>
		<pubDate>Sun, 21 Sep 2008 02:22:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-94</guid>
		<description>Para cuando el post porfavor!!!!</description>
		<content:encoded><![CDATA[<p>Para cuando el post porfavor!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ricardo Gutiérrez</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-63</link>
		<dc:creator>Ricardo Gutiérrez</dc:creator>
		<pubDate>Sat, 17 May 2008 03:34:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-63</guid>
		<description>Gracias por tomarte la molestia de compartir la solución en tu blog, o por lo menos mencionar la intención de hacerlo.

Estoy desarrollando un sitio nuevo y por no conocer rails 2.0 quise aventurarme a empezar este desarrollo desde cero en dicha plataforma y los problemas que me he encontrado con las rutas son muchos.

Tanto así que he pensado en bajar a la versión 1.2.6, en todo caso te tengo dos preguntas:

- ¿Puedes compartir tu solución? En mi caso quiero hacer una interfaz de administradores y otra para los usuarios generales usando namespaces pero se me ha hecho imposible.

- ¿Por que usar Rails 2.0? 

Saludos!!!!</description>
		<content:encoded><![CDATA[<p>Gracias por tomarte la molestia de compartir la solución en tu blog, o por lo menos mencionar la intención de hacerlo.</p>
<p>Estoy desarrollando un sitio nuevo y por no conocer rails 2.0 quise aventurarme a empezar este desarrollo desde cero en dicha plataforma y los problemas que me he encontrado con las rutas son muchos.</p>
<p>Tanto así que he pensado en bajar a la versión 1.2.6, en todo caso te tengo dos preguntas:</p>
<p>- ¿Puedes compartir tu solución? En mi caso quiero hacer una interfaz de administradores y otra para los usuarios generales usando namespaces pero se me ha hecho imposible.</p>
<p>- ¿Por que usar Rails 2.0? </p>
<p>Saludos!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Jorge Calás</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-58</link>
		<dc:creator>Jorge Calás</dc:creator>
		<pubDate>Wed, 16 Apr 2008 08:39:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-58</guid>
		<description>Hola Isaac, ante todo felicidades por moterus.es, me he dado una vuelta y me parece genial, con una interfaz de usuario sencilla e intuitiva. 

Sobre el post.... pues que me he quedado con las ganas de ver como termina el cuento. Hasta ahora no he tenido el problema con las dimensiones que cuentas pero alguna vez si que me he encontrado con la necesidad de hacerlo con el if, claro que como tu dices cuando tienes muchos recursos anidados esto se vuelve inmantenible.

Animo (que con el exito de moterus debe tener de sobra me imagino) y cuentanos un poco más. 

Saludos, 

Jorge</description>
		<content:encoded><![CDATA[<p>Hola Isaac, ante todo felicidades por moterus.es, me he dado una vuelta y me parece genial, con una interfaz de usuario sencilla e intuitiva. </p>
<p>Sobre el post&#8230;. pues que me he quedado con las ganas de ver como termina el cuento. Hasta ahora no he tenido el problema con las dimensiones que cuentas pero alguna vez si que me he encontrado con la necesidad de hacerlo con el if, claro que como tu dices cuando tienes muchos recursos anidados esto se vuelve inmantenible.</p>
<p>Animo (que con el exito de moterus debe tener de sobra me imagino) y cuentanos un poco más. </p>
<p>Saludos, </p>
<p>Jorge</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: isaac</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-54</link>
		<dc:creator>isaac</dc:creator>
		<pubDate>Thu, 03 Apr 2008 14:15:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-54</guid>
		<description>Ah, se me olvidaba... aparte de

/usuarios/isaac/fotos... también se puede hacer
/users/isaac/photos (ingles) o
/benutzer/isaac/fotos (alemán) o 
/utenti/isaac/foto (italiano) o ... etc...


lo cual añade algo de complejidad más al de las rutas. Con "mi sistema", en el template del show de la foto, es tan sencillo como hacer "photo_url(@photo.slug)" et voilà, construye el path correcto en función de sobre que objeto estemos mostrando las fotos y en el idioma del usuario...

Me he animado, a ver si escribo la solución pronto!</description>
		<content:encoded><![CDATA[<p>Ah, se me olvidaba&#8230; aparte de</p>
<p>/usuarios/isaac/fotos&#8230; también se puede hacer<br />
/users/isaac/photos (ingles) o<br />
/benutzer/isaac/fotos (alemán) o<br />
/utenti/isaac/foto (italiano) o &#8230; etc&#8230;</p>
<p>lo cual añade algo de complejidad más al de las rutas. Con &#8220;mi sistema&#8221;, en el template del show de la foto, es tan sencillo como hacer &#8220;photo_url(@photo.slug)&#8221; et voilà, construye el path correcto en función de sobre que objeto estemos mostrando las fotos y en el idioma del usuario&#8230;</p>
<p>Me he animado, a ver si escribo la solución pronto!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: isaac</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-53</link>
		<dc:creator>isaac</dc:creator>
		<pubDate>Thu, 03 Apr 2008 14:10:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-53</guid>
		<description>Buenas Fernando,

vaya, me sorprende que haya alguien aqui leyendo estas cosas. :) Por curiosidad, ¿Cómo me has encontrado?

Y ahora al tema:

El problema no está en los modelos, para esto rails se apaña muy bien... El problema está en las rutas y controladores. Es decir, en moterus tenemos rutas de este estilo:

/usuarios/isaac/fotos/salida-a-ripoll (muestra la foto "salida a ripoll" del usuario "isaac"
/usuarios/isaac/motos/fazerilla/fotos/pepe (muestra la foto "pepe" de la moto "fazerilla" del usuario "isaac"
/grupos/che-passione/fotos/salvapantallas-1 (muestra la foto "salvapantallas-1" del grupo "che-passione".

Además de mostrar la foto, tambien se permiten añadir comentarios a la foto, votaciones, etc... Todo desde un solo controlador (photos_controller). Cómo saber en el controlador si tenemos que buscar las fotos de un usuario, las de un grupo, las de una moto (de un usuario)...?

Veo que como mínimo a álguien le interesa este tema... a ver si tengo algo de tiempo y escribo la segunda parte con "mi solución" y así la podemos debatir.

Al loro!</description>
		<content:encoded><![CDATA[<p>Buenas Fernando,</p>
<p>vaya, me sorprende que haya alguien aqui leyendo estas cosas. <img src='http://www.isaacfeliu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Por curiosidad, ¿Cómo me has encontrado?</p>
<p>Y ahora al tema:</p>
<p>El problema no está en los modelos, para esto rails se apaña muy bien&#8230; El problema está en las rutas y controladores. Es decir, en moterus tenemos rutas de este estilo:</p>
<p>/usuarios/isaac/fotos/salida-a-ripoll (muestra la foto &#8220;salida a ripoll&#8221; del usuario &#8220;isaac&#8221;<br />
/usuarios/isaac/motos/fazerilla/fotos/pepe (muestra la foto &#8220;pepe&#8221; de la moto &#8220;fazerilla&#8221; del usuario &#8220;isaac&#8221;<br />
/grupos/che-passione/fotos/salvapantallas-1 (muestra la foto &#8220;salvapantallas-1&#8243; del grupo &#8220;che-passione&#8221;.</p>
<p>Además de mostrar la foto, tambien se permiten añadir comentarios a la foto, votaciones, etc&#8230; Todo desde un solo controlador (photos_controller). Cómo saber en el controlador si tenemos que buscar las fotos de un usuario, las de un grupo, las de una moto (de un usuario)&#8230;?</p>
<p>Veo que como mínimo a álguien le interesa este tema&#8230; a ver si tengo algo de tiempo y escribo la segunda parte con &#8220;mi solución&#8221; y así la podemos debatir.</p>
<p>Al loro!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fernando</title>
		<link>http://www.isaacfeliu.com/2008/03/controladores-polimorficos-y-ruby-on-rails/#comment-52</link>
		<dc:creator>Fernando</dc:creator>
		<pubDate>Thu, 03 Apr 2008 14:01:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.isaacfeliu.com/2008/03/26/controladores-polimorficos-y-ruby-on-rails/#comment-52</guid>
		<description>Puedes solucionarlo con modelos astutos y polimorfismo de asociaciones.

Create este modelo:
Foto:
  id
  fotografiado_type
  fotografiado_id
  foto_bin

Motero
  has_many :fotos, 
           :class_name =&#62; Foto, #esta no es imprescindible
           :conditions =&#62; "fotografiado_type='Motero'",
           :foreign_key =&#62; :fotografiado_id

Moto
  has_many :fotos,
           :class_name =&#62; Foto, #esta no es imprescindible
           :conditions =&#62; "fotografiado_type='Moto'",
           :foreign_key =&#62; :fotografiado_id

Si necesitas el belongs_to en la foto entonces hay un plugin llamado has_many_polymorphic, pero es una pesadez, carga al arrancar los servidores. 

Puedes hacer un SingleTableInheritance en Foto:
FotoMoto &#60; Foto
FotoMotero &#60; Foto
con el belongs_to en los subtipos, y la foto y la id en el supertipo.


Puedes hacer un único campo fotos (sin modelo propio) en Moto y en Motero y guardar un array de fotos serializado con Marshal o con Yaml.

def fotos
  return YAML.load(campofotos)
end
#que te dejaria hacer fotos.last, fotos.each...

Espero que alguna de mis ideas te ayude.

Si quieres más detalle sobre algo no dudes en escribirme.

Un saludo</description>
		<content:encoded><![CDATA[<p>Puedes solucionarlo con modelos astutos y polimorfismo de asociaciones.</p>
<p>Create este modelo:<br />
Foto:<br />
  id<br />
  fotografiado_type<br />
  fotografiado_id<br />
  foto_bin</p>
<p>Motero<br />
  has_many :fotos,<br />
           :class_name =&gt; Foto, #esta no es imprescindible<br />
           :conditions =&gt; &#8220;fotografiado_type=&#8217;Motero&#8217;&#8221;,<br />
           :foreign_key =&gt; :fotografiado_id</p>
<p>Moto<br />
  has_many :fotos,<br />
           :class_name =&gt; Foto, #esta no es imprescindible<br />
           :conditions =&gt; &#8220;fotografiado_type=&#8217;Moto&#8217;&#8221;,<br />
           :foreign_key =&gt; :fotografiado_id</p>
<p>Si necesitas el belongs_to en la foto entonces hay un plugin llamado has_many_polymorphic, pero es una pesadez, carga al arrancar los servidores. </p>
<p>Puedes hacer un SingleTableInheritance en Foto:<br />
FotoMoto &lt; Foto<br />
FotoMotero &lt; Foto<br />
con el belongs_to en los subtipos, y la foto y la id en el supertipo.</p>
<p>Puedes hacer un único campo fotos (sin modelo propio) en Moto y en Motero y guardar un array de fotos serializado con Marshal o con Yaml.</p>
<p>def fotos<br />
  return YAML.load(campofotos)<br />
end<br />
#que te dejaria hacer fotos.last, fotos.each&#8230;</p>
<p>Espero que alguna de mis ideas te ayude.</p>
<p>Si quieres más detalle sobre algo no dudes en escribirme.</p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
</channel>
</rss>
